X



リファクタリングすると全部テストしろと言ってくる奴の矛盾2
■ このスレッドは過去ログ倉庫に格納されています
0357仕様書無しさん
垢版 |
2018/06/10(日) 00:33:37.26
>じゃあ、型情報潰しちゃってるのにどうやって該当の処理まで飛ぶの?
作業対象の型も設定や命名規約からすぐわかるし全体からすれば極一部の動的なインスタンスだったとしてもログやファクトリーを見ればすぐにわかる

>インターフェース君はどうやってインターフェースの先を知らずに不具合を直すのだろう?
作業対象が依存してるのはインターフェースの契約でしかないのでインターフェースの先はもちろん知らなくていい

作業対象==バグってるクラス
0358仕様書無しさん
垢版 |
2018/06/10(日) 00:41:27.33
>>356
IF「フフフ、我らを見抜けるかな?」
IF「3万のインスタンスをもち、150種のクラスをもつ我らを見抜くことは不可能」
IF「さらにメモリ、フォーム、コントロール、スレッド、ファイル、プロトコル、etc」
IF「すべての共通項を見出した万能クラス」
0359仕様書無しさん
垢版 |
2018/06/10(日) 00:44:12.74
実際には責務:クラス=1:1だから症状聞いた瞬間にあぁあのクラスだなってわかるんだけどね
クラス分けしないでif文書きまくるとそれができなくなってコード追いかけたり実際に動かさないとわからなくなる
0360仕様書無しさん
垢版 |
2018/06/10(日) 00:46:05.56
>>357
いや、お前の主張はインターフェースの先は知らなくていいんだから
不具合直せないだろ
そこでチンコでもいじってろよ
0361仕様書無しさん
垢版 |
2018/06/10(日) 01:05:06.67
バグがあるクラスを直す時にそのクラスが依存しているインターフェースの先を知る必要がない
インターフェースを守っていればいい
0362仕様書無しさん
垢版 |
2018/06/10(日) 01:07:08.85
これも成り立つよな?

バグがあるクラスを直す時にそのクラスが依存しているクラスの先を知る必要がない
0364仕様書無しさん
垢版 |
2018/06/10(日) 01:23:43.45
クラスを使ってるだけなら、クラスの実装を知る必要はないのと同じことか
そういやライブラリのソースコードって見ないもんな
0365仕様書無しさん
垢版 |
2018/06/10(日) 01:31:56.78
クラスを使ってるだけならクラスの実装にも注意が必要
0366仕様書無しさん
垢版 |
2018/06/10(日) 01:42:08.23
あー、勝負ついたなw

クラス(第三者が作ったライブラリ)のソースコード
普通見ねぇわ
0367仕様書無しさん
垢版 |
2018/06/10(日) 07:15:47.13
しかし、まだ、インターフェースの先がバグってる
0368仕様書無しさん
垢版 |
2018/06/10(日) 09:54:12.51
バグってるクラスを直さないと誰が言ったのだろうか
0369仕様書無しさん
垢版 |
2018/06/10(日) 12:35:52.36
インターフェースを使うとバグが無いことが証明される

なんでかな?
0371仕様書無しさん
垢版 |
2018/06/10(日) 12:59:16.23
インターフェースの先は知らなくていい

↑これが間違ってる
0374仕様書無しさん
垢版 |
2018/06/14(木) 20:41:53.41
これが流行ってるからっで、レガシーコードにぶち込まれた数々のソリューション。
やるなら同等の箇所を完全に書き換えろ。
未来に責任が持てないならおとなしくしとけよ、糞が
0376仕様書無しさん
垢版 |
2018/06/14(木) 20:58:25.98
あ、未来のことなんか考えなかったからだね
未来の責任は放棄か
0377仕様書無しさん
垢版 |
2018/06/14(木) 21:55:10.14
残業、休出してリファクタリングってなんかおかしくねーか?
いま、足が出てるわけで、いま、なんとかしろよ
アリもしないお前が想定する未来はきっとこないんだ
0379仕様書無しさん
垢版 |
2018/06/15(金) 07:11:43.08
>>378
え?ちょっと頭使ってね
リファクタリングっていまの工数を使って明日の工数につなげましょうって作戦じゃん?
なのにいま足が出てるのにそんなことしたって一体いつのプロジェクトを成功させたいのかわけがわからないじゃん
0380仕様書無しさん
垢版 |
2018/06/15(金) 07:46:54.71
> リファクタリングっていまの工数を使って明日の工数につなげましょうって作戦じゃん?

え?違うよ

まず今日の仕事の準備としてリファクタリングする。
そして今日の仕事の仕上げとしてリファクタリングする
それで今日の仕事が終わったと言える

準備と仕上げを入れずに仕事を見積もってはいけない
足が出てるのは、その準備と仕上げを勤務時間中にやらないで
1時間早く出社して、残業もするような状態になってるから
0381仕様書無しさん
垢版 |
2018/06/15(金) 08:03:25.86
>>380
は?
それなんのためにやってるの?
設計書通りに組んだんだよね?
0382仕様書無しさん
垢版 |
2018/06/15(金) 08:04:01.47
気分に任せて組んでるから必要になってんじゃない?
お前の場合
0383仕様書無しさん
垢版 |
2018/06/15(金) 09:52:47.39
まあリファクタして工数増えてんなら本末転倒だわな
0386仕様書無しさん
垢版 |
2018/06/15(金) 14:53:06.17
野球で例えるならバッターが足場を慣らすのがリファクタリング
0389仕様書無しさん
垢版 |
2018/06/15(金) 18:13:39.98
>>388
それ統計データでもあるの?
それともあなたの思い込み?
嘘つかないでくれませんか?
0390仕様書無しさん
垢版 |
2018/06/15(金) 18:19:30.60
設計書通りだとバグ出るしバグの修正めちゃくちゃ大変
しかも当たり前のように仕様変更入るじゃん
だから設計書は参考までに止めてリファクタリングするしかない
文句言うなら最初から整理とテストまで実行した設計書をよこせや
0392仕様書無しさん
垢版 |
2018/06/15(金) 19:05:31.85
>>391
設計書はゴミだけど設計というプロセスは必要
設計した結果をコードとテストとしてアウトプットする
それらでカバーできない部分があれば別途図表や文章を用意するが設計書という体裁にはならない
後発の開発者やユーザーに対する解説書となる
0394仕様書無しさん
垢版 |
2018/06/15(金) 19:29:07.71
んで、設計書を通りのコードと言っても
わかりやすいコードと、わかりにくいコードがある
正しく動いていたとしても、わかりにくいコードだと
今後の作業に支障をきたす。

今後の作業を改善するためにリファクタリングするのではなく
今後の作業に支障をきたさないためにリファクタリングをする。
これは今やらなければいけない作業

工事終わりました。でも片付けはしてないです。じゃだめだろう?
片付けまでやるのが今日の仕事
0395仕様書無しさん
垢版 |
2018/06/15(金) 19:46:24.48
@良い設計を簡潔に記したもの
→必要です。これを設計書と言います。

A悪い設計を膨大な文書で誤魔化そうとしたもの
→不要です。むしろ害悪になります。
これは設計書とは言いません。ゴミです。

残念なことに日本のIT業界ではAの事を設計書と呼び、盲信しています。
今すぐAをリファクタリングして@に書き換えましょう。
そうすればコードのリファクタリングは最小限で済みます。
0396仕様書無しさん
垢版 |
2018/06/15(金) 20:00:38.76
>>394
わかりにくい文章やな
0397仕様書無しさん
垢版 |
2018/06/15(金) 20:13:33.02
>>395
> @良い設計を簡潔に記したもの
> →必要です。これを設計書と言います。

簡潔に書くのと、詳細なコードを書くことは
矛盾するからね。簡潔に書けば、書いてない部分が
増えるため汚いコードになってしまう可能性が増える
0399KAC
垢版 |
2018/06/15(金) 21:10:13.88
>>397
お前さんが設計できない事だけは判った
0400仕様書無しさん
垢版 |
2018/06/18(月) 20:23:08.40
リファクタリングしながらやると美しいコードになるけどやっぱり時間かかるな

複雑なSQLで一気にデータ持ってきて表示、編集させて、ボタン押したらこれまた複雑な更新SQLで一気にデータを更新
コードめちゃくちゃになるけど、これが一番生速度が速い
0401KAC
垢版 |
2018/06/18(月) 21:53:41.21
いや、ちゃんと設計しろよ
0402仕様書無しさん
垢版 |
2018/06/18(月) 22:53:05.35
設計は遠回り
最初から最短距離見えてるんだからそうすればいい
0403仕様書無しさん
垢版 |
2018/06/18(月) 22:58:25.68
どうせ引き継ぎ用の説明書作らなきゃならないだろうに…。
0406KAC
垢版 |
2018/06/18(月) 23:35:19.24
>>402
じゃあリファクタリングいらんだろ
0408仕様書無しさん
垢版 |
2018/06/19(火) 07:39:04.26
>>402
設計は必須。
お前さんは書き込みする時に、カキコの影響とか考えるだろ?
それは広い意味での設計。
「設計書」と称する、実は設計書になってないゴミは要らんけどね。
0409仕様書無しさん
垢版 |
2018/06/30(土) 20:48:21.44
設計・設計書要らない派が挙げてる仕事って、
1時間で終わるレベルのタスクなんだろうなって思う。
人と設計を共有したりしないでいいんだろうな。
0410仕様書無しさん
垢版 |
2018/07/01(日) 00:07:45.44
だからコードで設計を共有すればいいじゃん
設計書を記述するための「プログラム言語」という専用の言語で
設計書を記述すればいいでしょう?
0411KAC
垢版 |
2018/07/01(日) 02:15:52.13
>>410
プログラム書いて持ちよった結果
イメージが合って無くて全面書き直しになっても
直ぐに書き直せるのならそうかもな
0412仕様書無しさん
垢版 |
2018/07/01(日) 02:16:11.30
>>410
小規模ならそれもいいけど、大規模になったらそうもいかんのよ
0413仕様書無しさん
垢版 |
2018/07/01(日) 03:46:41.54
>>411
お前が言う「設計書」を書いて持ち寄った結果
イメージが合って無くて全面書き直しになるのと何が違うの?

全面書き直しが問題なら、単に早めに
レビューすればいいだけ。別の問題だろ
0414仕様書無しさん
垢版 |
2018/07/01(日) 03:51:24.97
>>413
それはプログラムと設計書の工数によって変わるだろ
プログラムより設計書の工数がえらい小さい場合は、設計書を持ち寄ってレビューするべきだし
工数がほとんど変わらないなら、最初からプログラムでレビューすればいい
0415仕様書無しさん
垢版 |
2018/07/01(日) 04:01:00.47
設計書は長時間うんうんうなって完成させてから
レビューするもんでしょ

大規模なものなら、1ヶ月とかそれ以上かかって完成させて、
でイメージが合ってなくて全面書き直しwww
0416仕様書無しさん
垢版 |
2018/07/01(日) 04:03:02.31
設計書は書き直すことなんてないよ
所詮絵に描いた餅なんだから
間違ってもOK。レビューなんてしない
間違いはコードでなおす
0417仕様書無しさん
垢版 |
2018/07/01(日) 12:16:15.96
>>416
いや、設計書書いたならレビューしろよw
何のために書いてんの?
0419仕様書無しさん
垢版 |
2018/07/15(日) 20:49:16.71
建築業なら企画書→仕様書→設計書→図面→といった工程の中の
一部分であることが設計書の存在意義なんだが
この業界って仕様変更の頻度が高すぎて工程という前提条件が破綻してる
とくに下請けはプロマネのレベルが低くて無知だから何でもハイハイで
再見積もりも無しに平気で工程をまき戻していつものデスマーチ
0420仕様書無しさん
垢版 |
2018/07/16(月) 23:47:33.28
>>419
建築はしっかりしてるというような隣の芝生は青く見えるんだろうけど、
あっちもやっぱり似たようにgdgdだよ。
特に今は作業員に外国人が増えてるから意思疎通も大変だし。
0421仕様書無しさん
垢版 |
2018/07/17(火) 20:14:10.53
建築業界に例えたらプログラマは何に相当するんだ?

○○に相当するとして、建築業界では○○に対して
ちゃんとした資料を渡してるんだろ?
だけどプログラマに対して、それと同じぐらいの内容の
資料渡してないだろ

って結論になるのが、この話題の最後になるのが目に見えてる
0423仕様書無しさん
垢版 |
2018/07/18(水) 03:26:52.12
>>422
おい、先にレスしてるんだからその先を書けよ。

土方に渡す資料に
「4階建でマンションを建てます。
部屋はいくつで、階段、エレベータはここで。
詳細は全部任せます。材料とか適切なのを選んでください」
って書いてあったら、それ建築士が使えないって判断だぞ
0424仕様書無しさん
垢版 |
2018/07/18(水) 04:54:54.12
>>423
末端の土方はそれくらいの情報しか持ってなさそう
で、現場監督や棟梁には詳細な資料が渡ってると
0425仕様書無しさん
垢版 |
2018/07/18(水) 11:14:36.88
プログラマは土方に相当すると言ってのに
現場監督や棟梁に相当するって訂正かよw
0427仕様書無しさん
垢版 |
2018/07/21(土) 18:09:01.09
将来的には絶対いいしそうしないと先がふさがるけど
当面の課題解決の理由として正当化できないせいで採用できない
0428仕様書無しさん
垢版 |
2018/07/21(土) 19:57:36.56
などと言い訳をしているところは
デスマ状態なんだろうってのがよく分かる

なぜならコード修正の見積もりには
予めリファクタリング分の工数を含めるものだからだ

その余裕も無いほどカツカツなスケジュールなら
デスマになるに決まっている
0429仕様書無しさん
垢版 |
2018/07/21(土) 20:05:56.17
そのリファクタ見積もりが正当化できないんですけど
0430仕様書無しさん
垢版 |
2018/07/21(土) 20:10:08.19
将来的に当たるかもしれない課題がある
でもそれは優先度低くてかなり先、一度後回しでいいやってなった

今回の改修は範囲狭くて緊急性たかい
今回のを理由に将来を見越した改修をしてしまうと、緊急性高いテストに関係ないモジュールまで巻き込まれてしまう

先で死ぬのが見えてるのに出口が
0431仕様書無しさん
垢版 |
2018/07/21(土) 20:55:20.97
コストカット原理主義が無くならない限りはリファクタリングの正当性を見出すのは無理だろうな

空いてる時間に今までのフィードバックをすることでよくしていくことが必要なのに空いた時間
そのものをコストとして敵対視してるのだから受け入れられることはない

空いた時間=余裕=コスト=絶対悪 になっている人が多い
0434仕様書無しさん
垢版 |
2018/07/21(土) 22:25:55.48
そりゃ正しいコードの姿が見えてないのに
コード書くのにどれくらいかなんて見積もりできないだろw

それか修正前のコードがどんなに汚くて
修正箇所が大きくテスト範囲も広くなろうが
修正前のコードが綺麗でわずかの修正で解決できようが
全く同じ工数で修正できるって考えてるアホかのどちらかだ
0435仕様書無しさん
垢版 |
2018/07/21(土) 22:33:30.78
正当化できない理由は>>430
コードの正しい姿とかどっからでてきた話だ
0436仕様書無しさん
垢版 |
2018/07/21(土) 23:01:38.04
言語やOS、ライブラリ、フレームワークなんてのは変わり続けてたり、変わらないことで
使えなくなることがあったり、使用者の習熟度が上がるなんかでも変化するから正しい
コードの姿なんてものは幻想だよ。

極端な話、変更がなければリファクタリングなんてしなくてもいいがOSバージョンアップは
ほぼ確実に数年単位で起きるしそれに対する対応としてはリファクタリングなりなんなりの
事前によくしておくというのは必要なんだよな。
0437仕様書無しさん
垢版 |
2018/07/21(土) 23:03:41.98
>>435
え? コードを適当に修正してんの?
動けばどんなコードでもOKって人?
0438仕様書無しさん
垢版 |
2018/07/21(土) 23:04:48.61
>>436
> 使用者の習熟度が上がるなんかでも変化するから正しい
> コードの姿なんてものは幻想だよ。

コードの話をしてくれないかな?
お前が言ってるのは使用者の習熟度の話

お前が言ってるのは、正しいコードはあるが
それを使用者が理解できないって言ってるだけだろう?
0440KAC
垢版 |
2018/07/22(日) 01:02:58.95
>>428
なんで正しい設計をしようとしない?
0441仕様書無しさん
垢版 |
2018/07/22(日) 07:42:33.24
>>431
テストやリファクタリングをサボって、コストカットしたと勘違いしてるのが多いけどね。
0442仕様書無しさん
垢版 |
2018/07/22(日) 11:49:00.45
>>441
そもそもそこまでコストカットする必要はあるのかっていう話だな。

お給料=コストなんだからコストカット自体は自分の給料を減らすものとして考えなきゃ
ならないわけで、なんで自分の首を絞めることに肯定的なのかなあと。

効率化自体はかったるい作業をかったるくない作業にする自分ために必要なことだが
効率化しないと評価下げる、お前は低評価だみたいなのは違うだろうと。
0443仕様書無しさん
垢版 |
2018/07/22(日) 12:10:14.32
資本主義の世界だと自分の成功とは他人より成果を出すことでつまり他人が失敗すること
つまり望まれてるのはお前がコケて失敗することなんだ
それでまわりが幸せになる

おまえの上司は
お前が失敗しないことを理由に地位と給与を下げ、失敗したことを理由に地位と給与を下げるだろう
成功者の側に立とうと思ったらうわべに隠された別の道を通らねばならない
0445仕様書無しさん
垢版 |
2018/07/22(日) 14:20:05.45
>>444
だからそんなバカバカしい定量化しづらい、出来ない概念を信奉してるから
ちょっとした計算違いでどんどんドツボにはまっていくんだよ。
金は貯めたり削ったりするものじゃなくて使うものだという認識が出来てない。
0446仕様書無しさん
垢版 |
2018/07/22(日) 14:23:00.79
減量が必要なボクサーじゃないんだから無駄なんてあっていいの、あって当たり前なの
そんな当たり前のことが分らなくなってきているから作業量が増え続けて仕事が楽に
ならないんだよ。

過労死するとかそれに近い状態が幸せなのか?
0447KAC
垢版 |
2018/07/22(日) 17:11:53.36
どうでもいいけど、
少なくとも給料上がった分くらいは効率化しろよ?
新人雇った方がコスパ良いとか笑えないから。
0449仕様書無しさん
垢版 |
2018/08/01(水) 22:38:50.65
われながらクラスとメソッドの名前がひどい
壊滅的な英語センスと気まぐれなルールで
日本語との対応や分類がえらいことになってる

名前かえるぐらいさせろよ
0451仕様書無しさん
垢版 |
2018/10/01(月) 19:25:22.11
小売業者が定期的にやってる棚卸しみたいなもんだけどな
0452仕様書無しさん
垢版 |
2018/10/02(火) 20:04:13.47
なんやかんや言って全然ちゃうけどね
0453仕様書無しさん
垢版 |
2018/10/02(火) 20:15:37.69
リファクタリングは日々一人ひとりがやることだから
棚卸しのようにまとめてやる行事とはぜんぜん違う
0454仕様書無しさん
垢版 |
2018/10/02(火) 20:16:40.24
正確には無能がする日課のオナニーみたいなものやけどね
0455仕様書無しさん
垢版 |
2018/10/02(火) 20:21:20.38
システム刷新の前にリファクタリング少しでもやると効果的なんだけど余計な手間だろって却下される
古い言語で書かれたゴミを新しい言語で書かれたゴミに刷新しても意味ないと思うんだけどな
0456仕様書無しさん
垢版 |
2018/10/02(火) 20:24:34.25
定期的な整理をしないと肝心なときにぐちゃぐちゃになる
んで、緊急だっつって慌てて直してカオス化が進む
そーなる前に整理しろってそんだけの話でしょ
なんか難しいところあるか?
■ このスレッドは過去ログ倉庫に格納されています