リファクタリングすると全部テストしろと言ってくる奴の矛盾2
レス数が1000を超えています。これ以上書き込みはできません。
リファクタリングしながらやると美しいコードになるけどやっぱり時間かかるな
複雑なSQLで一気にデータ持ってきて表示、編集させて、ボタン押したらこれまた複雑な更新SQLで一気にデータを更新
コードめちゃくちゃになるけど、これが一番生速度が速い 設計は遠回り
最初から最短距離見えてるんだからそうすればいい どうせ引き継ぎ用の説明書作らなきゃならないだろうに…。 >>402
設計は必須。
お前さんは書き込みする時に、カキコの影響とか考えるだろ?
それは広い意味での設計。
「設計書」と称する、実は設計書になってないゴミは要らんけどね。 設計・設計書要らない派が挙げてる仕事って、
1時間で終わるレベルのタスクなんだろうなって思う。
人と設計を共有したりしないでいいんだろうな。 だからコードで設計を共有すればいいじゃん
設計書を記述するための「プログラム言語」という専用の言語で
設計書を記述すればいいでしょう? >>410
プログラム書いて持ちよった結果
イメージが合って無くて全面書き直しになっても
直ぐに書き直せるのならそうかもな >>410
小規模ならそれもいいけど、大規模になったらそうもいかんのよ >>411
お前が言う「設計書」を書いて持ち寄った結果
イメージが合って無くて全面書き直しになるのと何が違うの?
全面書き直しが問題なら、単に早めに
レビューすればいいだけ。別の問題だろ >>413
それはプログラムと設計書の工数によって変わるだろ
プログラムより設計書の工数がえらい小さい場合は、設計書を持ち寄ってレビューするべきだし
工数がほとんど変わらないなら、最初からプログラムでレビューすればいい 設計書は長時間うんうんうなって完成させてから
レビューするもんでしょ
大規模なものなら、1ヶ月とかそれ以上かかって完成させて、
でイメージが合ってなくて全面書き直しwww 設計書は書き直すことなんてないよ
所詮絵に描いた餅なんだから
間違ってもOK。レビューなんてしない
間違いはコードでなおす >>416
いや、設計書書いたならレビューしろよw
何のために書いてんの? 建築業なら企画書→仕様書→設計書→図面→といった工程の中の
一部分であることが設計書の存在意義なんだが
この業界って仕様変更の頻度が高すぎて工程という前提条件が破綻してる
とくに下請けはプロマネのレベルが低くて無知だから何でもハイハイで
再見積もりも無しに平気で工程をまき戻していつものデスマーチ >>419
建築はしっかりしてるというような隣の芝生は青く見えるんだろうけど、
あっちもやっぱり似たようにgdgdだよ。
特に今は作業員に外国人が増えてるから意思疎通も大変だし。 建築業界に例えたらプログラマは何に相当するんだ?
○○に相当するとして、建築業界では○○に対して
ちゃんとした資料を渡してるんだろ?
だけどプログラマに対して、それと同じぐらいの内容の
資料渡してないだろ
って結論になるのが、この話題の最後になるのが目に見えてる >>421
土方だろ
だって俺ら鬼の副長じゃなくてIT土方だろ >>422
おい、先にレスしてるんだからその先を書けよ。
土方に渡す資料に
「4階建でマンションを建てます。
部屋はいくつで、階段、エレベータはここで。
詳細は全部任せます。材料とか適切なのを選んでください」
って書いてあったら、それ建築士が使えないって判断だぞ >>423
末端の土方はそれくらいの情報しか持ってなさそう
で、現場監督や棟梁には詳細な資料が渡ってると プログラマは土方に相当すると言ってのに
現場監督や棟梁に相当するって訂正かよw 将来的には絶対いいしそうしないと先がふさがるけど
当面の課題解決の理由として正当化できないせいで採用できない などと言い訳をしているところは
デスマ状態なんだろうってのがよく分かる
なぜならコード修正の見積もりには
予めリファクタリング分の工数を含めるものだからだ
その余裕も無いほどカツカツなスケジュールなら
デスマになるに決まっている 将来的に当たるかもしれない課題がある
でもそれは優先度低くてかなり先、一度後回しでいいやってなった
今回の改修は範囲狭くて緊急性たかい
今回のを理由に将来を見越した改修をしてしまうと、緊急性高いテストに関係ないモジュールまで巻き込まれてしまう
先で死ぬのが見えてるのに出口が コストカット原理主義が無くならない限りはリファクタリングの正当性を見出すのは無理だろうな
空いてる時間に今までのフィードバックをすることでよくしていくことが必要なのに空いた時間
そのものをコストとして敵対視してるのだから受け入れられることはない
空いた時間=余裕=コスト=絶対悪 になっている人が多い >>429
それならコード修正の見積もりもできないだろうね そりゃ正しいコードの姿が見えてないのに
コード書くのにどれくらいかなんて見積もりできないだろw
それか修正前のコードがどんなに汚くて
修正箇所が大きくテスト範囲も広くなろうが
修正前のコードが綺麗でわずかの修正で解決できようが
全く同じ工数で修正できるって考えてるアホかのどちらかだ 正当化できない理由は>>430
コードの正しい姿とかどっからでてきた話だ 言語やOS、ライブラリ、フレームワークなんてのは変わり続けてたり、変わらないことで
使えなくなることがあったり、使用者の習熟度が上がるなんかでも変化するから正しい
コードの姿なんてものは幻想だよ。
極端な話、変更がなければリファクタリングなんてしなくてもいいがOSバージョンアップは
ほぼ確実に数年単位で起きるしそれに対する対応としてはリファクタリングなりなんなりの
事前によくしておくというのは必要なんだよな。 >>435
え? コードを適当に修正してんの?
動けばどんなコードでもOKって人? >>436
> 使用者の習熟度が上がるなんかでも変化するから正しい
> コードの姿なんてものは幻想だよ。
コードの話をしてくれないかな?
お前が言ってるのは使用者の習熟度の話
お前が言ってるのは、正しいコードはあるが
それを使用者が理解できないって言ってるだけだろう? >>437
おまえは自分の頭にある筋道以外の話が理解できんのか >>431
テストやリファクタリングをサボって、コストカットしたと勘違いしてるのが多いけどね。 >>441
そもそもそこまでコストカットする必要はあるのかっていう話だな。
お給料=コストなんだからコストカット自体は自分の給料を減らすものとして考えなきゃ
ならないわけで、なんで自分の首を絞めることに肯定的なのかなあと。
効率化自体はかったるい作業をかったるくない作業にする自分ために必要なことだが
効率化しないと評価下げる、お前は低評価だみたいなのは違うだろうと。 資本主義の世界だと自分の成功とは他人より成果を出すことでつまり他人が失敗すること
つまり望まれてるのはお前がコケて失敗することなんだ
それでまわりが幸せになる
おまえの上司は
お前が失敗しないことを理由に地位と給与を下げ、失敗したことを理由に地位と給与を下げるだろう
成功者の側に立とうと思ったらうわべに隠された別の道を通らねばならない >>442
費用対効果って概念が抜けてる現場は多い。 >>444
だからそんなバカバカしい定量化しづらい、出来ない概念を信奉してるから
ちょっとした計算違いでどんどんドツボにはまっていくんだよ。
金は貯めたり削ったりするものじゃなくて使うものだという認識が出来てない。 減量が必要なボクサーじゃないんだから無駄なんてあっていいの、あって当たり前なの
そんな当たり前のことが分らなくなってきているから作業量が増え続けて仕事が楽に
ならないんだよ。
過労死するとかそれに近い状態が幸せなのか? どうでもいいけど、
少なくとも給料上がった分くらいは効率化しろよ?
新人雇った方がコスパ良いとか笑えないから。 われながらクラスとメソッドの名前がひどい
壊滅的な英語センスと気まぐれなルールで
日本語との対応や分類がえらいことになってる
名前かえるぐらいさせろよ 小売業者が定期的にやってる棚卸しみたいなもんだけどな リファクタリングは日々一人ひとりがやることだから
棚卸しのようにまとめてやる行事とはぜんぜん違う 正確には無能がする日課のオナニーみたいなものやけどね システム刷新の前にリファクタリング少しでもやると効果的なんだけど余計な手間だろって却下される
古い言語で書かれたゴミを新しい言語で書かれたゴミに刷新しても意味ないと思うんだけどな 定期的な整理をしないと肝心なときにぐちゃぐちゃになる
んで、緊急だっつって慌てて直してカオス化が進む
そーなる前に整理しろってそんだけの話でしょ
なんか難しいところあるか? 整理整頓するつもりで散らかし放題やから無能と呼ばれとんのやぞおまえw 整理整頓するつもりで
整理整頓してればいいだけでしょう? 整理整頓した結果が前よりマシになる保証がないことを奴隷主どもはよくわきまえている
まともな整理整頓できるぐらい理解が進んでたら
そもそも整理したいって思わないことも多い リファクタリング何ぞ不要
その頃には丸ごと作り直せ 自動テスト出来るならもうかなりキレイなコードになってるはず
リファクタリングが本当に必要なのはテスト困難な汚いコード
リファクタリングはテストと必ずセットだって常識は間違っていたのかも知れないな
テストしないでリファクタリングすることも時には必要
これをエクストリーム・リファクタリングと名付けよう
みんなこのワードを流行らしてくれ
流行ってるなら本番でも採用されるから 最初は何とかなってたのに
あれがたりないこれがたりないってプライベートメソッドが増えて
にっちもさっちも行かなくなった…
リファクタしたいけどテストできなくなったからリファクタできない 規模にもよるけど、機能の変更や追加依頼があった時にその部分だけリファクタをやってから手をつけてるなぁ
もちろんそれ込みの見積もりを出す
依頼もないのに勝手にリファクタやることはないわ なんでこんなに変わってるんですか?
工数を増やさないでください
勝手にやった分の料金返してください 本当にリファクタリングを綺麗にできるのなら、
そもそも設計が綺麗だから、リファクタリングなんて不要だろ?
まともに設計できずにぐちゃぐちゃ書いた奴が、
リファクタリングなんてできる訳が無い。 >>468
コードを修正する必要がないなら、
最初からきれいに書けるよ
実際には機能追加、変更、バグ修正などで
コードを変更する必要があるから、リファクタリングが必要なんだよ >>469
そうだね。
まともに設計できない奴はそうなるね。 まともに設計できるかどうかじゃなくて、
将来を読めるかどうかだろ?
将来大規模になるなら、大規模な設計をするし、
そうでないなら小規模な設計をする
規模に応じて適切な設計は変わるのに
最初から規模が読めるとでも? 最近は設計できない奴の言い訳がすごいな。
まともに設計できてればそんなことでリファクタリングは発生しない。 そりゃ先の先の先まで考えて
必要ないことまで設計することだろw >>474
クソコテの戯言はおいとくとしても
設計はコーディングとちゃうで?それはコーディングの話や 日本人は年末の大掃除が文化として根付いてる
なので「日々整理整頓してクリーンな状況を維持しよう」って外国人なら当たり前の感覚がどうしてもわからない
民族・文化のレベルでITが向いてないんだよね 設計を受け取ってコードを書くだけの人ほど>>472のような勘違いをする傾向が有るね
ドメインへの理解度は開発をすすめるにつれて深化する
ビジネスルールやニーズは時間経過で変化する
という2つの大前提を理解してないっぽい >>477
クソコテに反論したからと言っておまえがコーダーである事は隠せんよw もうコテも信用できない
俺だってKACのふりぐらいできる >>477
設計できない事はよく分かった。
つか、開発プロセスすらまともに理解できてないんだな。 リファクタリング出来る環境あるならテストも自動化されてるだろうに、何が問題なんだろ? テストが自動化されてる現場なんてあるわけじゃないか!
だからリファクタリングは禁止! まさか、人力でリファクタリングしといて、インターフェースは完全に互換だとかのたまうアホなん? 完全に互換です
動き違うのはもともと定義外の使い方してたからで
既存バグです
正しくなおしたわれわれのせいではない 齟齬があるのに観世互換とか、日本語が使えないのかな? リファクタリングして、コードのメンテナンス性が上がって
メンテナンスに時間がかからなくなると、時間を節約で金になるんだよな
これをわかってないやつが多い ソース付きで売り切りの開発にリファクタリングなんて不要 ソースコードがなにもないところから生まれてくるとでも思ってるのだろうか? 切り売りするにはリファクタリングされきって
綺麗な設計になってないと無理だからなぁ あ、無理っていうのは不可能って意味じゃないよ。
切り売りする時、綺麗な設計になってないと
修正が大量に必要なってコストがかかるという意味 >>494
ネットに落ちてるのはバグばかりだよwww >>495
売り切りなのに修正なんてあるはず無いだろ。
修正するとすれば、購入した顧客側の仕事だしな。 >>497
じゃあ売ってる使えないコードってことか
詐欺という仕事も、そりゃありますよねぇwwww >>493
コメントを飾り立てれば綺麗なコードになるから無問題w やっぱりリファクタリングしきった
綺麗なコードじゃないと売れないよね >>500
ゴミを飾り立ててもゴミでしかありませんよw
あ、ゴミを騙して売る商売でしたね
商売の邪魔してすみませんwww >>502
動くと、正しく動くの違いぐらい知ってますよwww 切り売りってw
ライブラリとして無修正で提供できない時点で終わってるよね >>504
あ?
リファクタリングの意味も分からずここに来てんのか?
正しく動くから商売してんだろ? おまえらはアホだな。
リファクタリングし切ったコードなんか売ったら、
顧客都合の仕様変更の仕事が来ないだろw あぁ、時給で働いてんのなw
作業が減れば減るほど、稼げる金が減ると・
価値ではなく、作業時間で金額決めてるから
効率化すればするほど、稼げる金が減る。
地獄だね >>510
ライブラリを売る場合、作業が0でもそのライブラリの価値として売るのは明白
何もしなくても金が稼げる
切り売りっていうのは、一つのプロダクトから、必要そうな部分を切り出して渡す。
まず切り出すという作業が必要になる。どこがどう影響してるかわからないから
そして仕様変更が来たら、追加でなにか作るのではなく、切り売りしたソースを修正する
クソ汚いコードだから、顧客には修正するのが無理。というのを利用して作業費用を受け取る
反対に言えば、作業しなければ金が稼げない
同じ金額を稼いでいたとしても、ライブラリは何もしないで稼いでいるが
切り売りにして作業しないと稼げないと思ってる。
作業時間=金額 なのだから時給 あ?
誰が切り売りって言った?
売り切りだ。
売ったらそれでおしまいの商売な。 >>490
なんで最初からまともなコードを書けないの? >>513
人間は完璧ではない
システム化の対象が不変ではない
経営判断が不変ではない
情報源となる顧客が非協力的
最初から完璧なコードを書けない理由は沢山あるね
最初から完璧なコードが書けると思ってるうちはまだまだ初心者 リファクタしたいけど
きわめて明白なことに
根本的リファクタしたら2年ぐらい自分がやってた部分全部いらない
どうすればいい いらないなら消せばいいじゃん
サンクコスト効果とか知らない?
いらないものをメンテするほうがコストがかかる 大きな猫用ドアと小さな猫用ドアがあって小さいほう作ってる
どっちのドアをくぐらせるか猫を誘導するのがまた
機能は実質まったく一緒 >>518
時給ってやつだね
作業時間がそのまま金になる
だから効率化すると逆に金が減る >>515
まともに書けない理由がそれなら、
なんでリファクタリングすれば
成功すると思ったの? リファクタすると工数2、3倍
リファクタしないと指数関数的に複雑さがふえる まともに書けないんじゃなくて、まともに書かないだけ。
時間をかければまともに書けるが、その時点では
そこまでする必要がなかったという判断
だが「その時点では」の話。時が変わればその判断も変わる
状況が変われば、その目的地も変わる。新しい目的地に向かって
既存のルートを変えることがリファクタリング
その反対の行為は、古い目的地のルートはそのままに古い目的地から
新しい目的地へルートを伸ばす。だから無駄が積み重なって最後には
入り組んだ迷路のようになる >>523
で、リファクタリングして作り直してるるあいだに状況が変わるんだよな?
開発プロセスから見直した方がいいぞ。 まあ、リファクタリングするくらいなら新規で作った方が金も取れるからなぁ >>524
リファクタリングって何かを修正するたびに、該当箇所だけを少しづつやるもんだぞ?
毎日状況が変わっていたら仕事にならんだろうが
お前みたいに、リファクタリングという特別な時間を使って大規模にまとめてやるって
間違った考え持ってるやつはいつ撲滅できるんだろうかね
ほんと害悪でしかないわ >>525
時給で請求金額を決めてるんですね
大変ですね。開発時間を短くすると金が取れない仕組みなんてw >>527
だからさw
請け負いでやってても何でも
見積もりは作業工数から算出だろうに。
だからむしろ数時間で終わっちゃうリファクタリング作業なんかではたいした金は取れないんだよ。
電気屋が修理じゃなく新製品勧めて来るのと同じだ。 >>524
そう
ずっと追いかけるんだよ
理想と現実の誤差がある程度の範囲に収まるように調整すんの
リファクタリングしないと誤差が大きくなりすぎて商品価値が暴落する
暴落してから焦って直そうとしても誤差が大きすぎてどっちに進めば理想に近くのかがわからなくなる >>528
矛盾してるなぁw
リファクタリングの時間を作業工数に含めたら
むしろ金は取れるだろうに >>529
その誤差をリファクタリングで埋めようとするのが間違ってるって話なんだけど? >>531
リファクタリングは修正のたびに小さくやるもので
1日以内で終わるような誤差をなぜリファクタリングで埋めたらダメなんだ? >>530
リファクタリングってのは、そもそも設計不具合だからな。
新規開発の工数に入れられるはずが無いだろw >>533
リファクタリングは不具合修正じゃないので
工数に入れていいってことになりますねぇw
2階建ての家を3階建てにする時、土台を補強するのは
不具合じゃないですよ?
ま、あんたは不具合は全部無償で修理するんでしょうがねw 新規開発のお金が取れるぐらいなら
リファクタリングのお金も当然取れる リファクタに金がかかるってことは
リファクタで開発が楽になってないんだから
そのリファクタは間違いだと結論できる >>536
おまえさ、くたびれたババアだけとわ処女再生手術したのと、ピチピチの女子高生と、どっちと付き合いたい? >>537
おいおいw
リファクタリングで金がかかるのは最初で
開発が楽になるのは次回以降に決まってるだろ
そんなこともわからないのか?
しかも次回以降、請求金額はリファクタリングしてない場合の
金額にしておけば楽して稼げるんだぜ?
リスクゼロで金を稼ぐいい方法だ。 新しいハードに新しい技術で作ったアプリと、
ガラケーのアプリに機能追加したアプリでもいいよ。 これからはリコンストラクトって呼ぼう
リファクタなんて陰謀くさい名前でいうからコストを考える気にならんのだ >>540
じゃあ今回は認めるけど今後の機能追加は恒久的に料金4割引きで >>540
そんなの夢物語だぞ。
顧客のニーズは思いがけない方向にあって、
だいたいどんなリファクタリングを先回りしてやってても
無意味だったりするのが現実だぞ。 >>542
おまえは商売の話をしてないから無意味な事に金を使いたがるんだろ? 名前が心理に与える影響をばかにしてはいけない
人間は絶望的にいい加減 >>545
時給で請求金額決めてるところは大変だなぁ
開発を楽にしたら儲けが減るんだからw
ビジネスモデルが破綻してることにも気づいていない
自分で自分の首を絞めてることに気づいていない まず、リファクタリングに金を出す客は居ないからなぁw >>545
> だいたいどんなリファクタリングを先回りしてやってても
YAGNIって知ってるか? 今必要になっていないならやらない。
必要になったときにやる。ということだ
先回りしないからこそあとでリファクタリングするんだよ。
先回りしてリファクタリングとか矛盾そのものだ >>550
リファクタリングを作業工数に入れるという発想がないから
自分で自分の首を絞めてるんだろうねw >>549
え?機能で値段決めてるのに機能増えないリファクタで金とるの? >>553
機能を実現するコードを作り出すためなんだから
当然入れるに決まってるだろ。
本当に頭がおかしい。馬鹿じゃなくておかしい >>551
だからリファクタリングは無意味なんだって。
仕様変更があって初めて秘密裏にリファクタリングするくらいが関の山なんだよ。
リファクタリング自体に金なんか誰も出さないから。 >>555
秘密裏っていうか、お前客にやってること全部説明するのか?
ここのi+1というのはですね(略
コードの説明なんてわざわざしねーよ >>556
おまえは、客先コードレビューもやらない素人相手のマか? > リファクタリング自体に金なんか誰も出さないから。
作業時間に含めるのが常識だから
当たり前の話だな。
リファクタリングで別に見積もりだせーって言っているやつが
リファクタリングで金だせないだろーって言ってる矛盾
なら作業時間に含めればいいだけなのに
その発想が出ない。おかしい。馬鹿じゃなくておかしい >>558
> おまえは、客先コードレビューもやらない素人相手のマか?
コードレビューした気になってるだけだろ。
リファクタリングされてない奇怪なコードの解読に
数時間かけても何も生まれないよ >>559
おまえは、見積もりの内訳も分からない素人を相手にしているマなのか? >>557
矛盾してる所があったら指摘してみて
できないなら黙るか、関係ない話にすり替えてみてw >>561
お前は見積もりの内訳としてコード一行一行の値段なんか出してんのか? >>559
人間がバグったww
コード量と時間と機能のどれで金とるの? >>563
もしかしてプロならバグを入れないと思ってる?
どんなコードでも一瞬で理解できると思ってる?
汚いコードであればあるほど、バグが含まれるし
どこがどう影響しているかなんて、わからなくなるんだが
だからリファクタリングが必要なの おれは一切バグを出さない方法を知ってる。
さわらなきゃいいんだ >>565
> コード量と時間と機能のどれで金とるの?
顧客への価値に決まってんだろ
いらない機能を追加しても金なんかもらえない
発想自体が根本からずれてる >>564
この仕事何十年もやってる人なら処理内容からだいたいの工数は頭ん中にあるんだよ。
その工数に見合わない見積もり出したら、突っ込まれて詳細聞かれるんだよ。 >>567
だからリファクタリングは修正する必要があるときに
作業時間に含めてやることになるわけなんですね。
さわらなきゃいけないときにやるもの >>570
そう、動いているコードにはさわるなってのは名言。 >>569
> この仕事何十年もやってる人なら処理内容からだいたいの工数は頭ん中にあるんだよ。
はは、何十年もやっていてそれか。
既存のコードの修正の工数は、既存のコードがどうなってるかで変わってくる
メンテナンスがしやすいコードとそうでないコードでは
修正の時間は何十倍も違ってくる
だから他人が作った見たこともないコードの修正の見積もりなんかしない
自分の仕事に責任を持っているからだ >>573
それも込みでだいたいの工数なんか決まってんだよ。
見た事も無いコードならリファクタリングが必要かすらわからないんだから、そもそも前提が意味がないって事に気づけ。
そして見た事も無いコードの修正作業の見積もりなんか普通はしない。見積もりに際してコードを提供してもらうのが普通だぞ。 たぶん口だけだな
見積まともにできるやつは
改修による影響範囲とかパスとか
画面とかテストケースの数とか具体的に見積もる
コードがぐちゃぐちゃだからリファクタしたいなんていうやつに
稼働コードに指一本触れさせてはいけない
彼は優れたコードが書けるのではない。単に理解力が劣っているんだ。 自分で書いたコードを自分の責任で弄り回すのは勝手にやればいい。
リファクタリングでも何でも好きな名目でやってれ。
でも、会社組織に組み込まれてる身分では、責任なんか取れないんだから、余計な事はするな。
それだけ。 >>558
話の本質とは違うけど気になったのでツッコんどく。
「それは客の定義によるだろ」
例えばお前さんが客として買ったゲームソフト、開発者とレビューしたか? >>575
概ね同意。
コードがグチャグチャになった根本原因すら理解できてない奴が
リファクタリングしたところでまともなコードにはならないのは明白だし。
時間と金の無駄どころが不要なリスクを上げるだけだろう。 >>578
理解して整理するためにリファクタリングするんだよ
素人は知らないだろうけどプロジェクトの最初から全てのコードの歴史を知ってる人材なんてほとんどいないからな >>579
理解するためにリファクタリングするとか、
素人丸出しの意見だな。。。 >>580
お前さんがな
最低限マーティン・ファウラーの本は読んでからこい
でなければ議論の場に立つには早すぎる >>581
なるほど。
事象に対する理解力すらないのか。
そりゃあ、自分の間違った行動を正当化するために
リファクタリングをしているってことにしたいわけだ。 客先レビューすると、客からリファクタリング求めらる事もあるんだよな。でも工数は据え置きってのが普通だ。 >>583
はい。交渉力がなければ、工数据え置きでやらされるでしょうね
おそらく仕様変更も無償でやらされてますよ。 >>583
そりゃリファクタリングが要求されるような
読みづらいコードは、バグと一緒だからね
だから、最初からリファクタリング込みで工数を出すんだよ。
動けば完成じゃない。客から文句を言われないものを作るまでが仕事だ 読みづらいからって修正要求される事は無いなぁ
関数ヘッダのコメントが無いとかくらいならあるけどさ。
リファクタリング求められる一番多いのは、
同じ事をコピペかってくらい繰り返してたりするコードとかかなぁ 読みづらいコードとバグは違うだろw変なやつだなあw 繰り返しは目に見えてテスト工数にはねるのでリファクタされてしまう
条件分岐も
やっぱりまぎらわしい名前とか処理順序とか
ややこしい変数渡しがいちばんきくな ○○と一緒とかいうな
思考がめっちゃ雑になる
みんなは区別がつくから別の名前で呼んでるんだ
つまり
おまえだけ区別がつかないまぬけということになる 読みづらいコードはバグではない・・・そのとおり
読みづらいコードはバグと一緒で無償修正の対象・・・そのとおり >>591
ソースコードを納品する場合で
相手側のソースコードのレビューがある場合は当然だな
そのためのレビューなんだし 下流が下流に納品する特殊事例をあげられましてもw
ソースコードなんか読みませんからw >>593
558 返信:仕様書無しさん[sage] 投稿日:2018/10/11(木) 23:54:32.36
>>556
おまえは、客先コードレビューもやらない素人相手のマか? ソース持ってなきゃ相手に依存しっぱなしになってしまう
何か仕込まれてもわからない
コードは権力そのものだ
コード読めないコード読まない上流など
金の上流なだけで立場は最下層
どれほど愚かであればそれを誇る気になるのだろう 自社から出す商品の品質がどうでもいいなんてアホ居るんだw いやごめん
そんな上流いるわけないな
下流だけど適当に煽ってみただけだよね >>596
お前さんは買った商品の全部のコードを読んでから使うのか?
Windowsはさぞかし読むの大変だったろうな。 >>599
読まないしテストもろくな検証もしてない
だからむしられるだけの庶民
MSに勝手にメール見てもいいことにされ、いりもしないOSを無理やり入れさせられ
プライベートをくまなく抜き取られ
せっかく買ったパソコンを自分のもののように好き勝手にいじりまわされても
あきらめて黙って使うしかない 私たち日本人の、日本国憲法を改正しましょう。
総ム省の、『憲法改正國民投票法』、でググって
みてください。拡散も含め、お願い致します。 リファクタリングが必要なとき、それは、システムをそもそもリプレイスしないといけないとき。
よって、リファクタリングなんぞ不要。 >>603
リファクタリングの工数とリプレイスの工数が同じならそれも真だが
多くの場合はそうではないからリファクタリングは必要だよ むしろいつまで古いシステム使うつもりなんだって話
ハードの耐用年数だってあんだろ? >>604
だから、リプレイスが必要なレベルなのに、リファクタを提案すること自体愚かだって話だ。
宇宙軍だの言ってる時代に、未だに、石器時代の石で作った武器の石を研ぐことを提案するのか? 移行プロジェクトで
既存システムにリプレースされそうな勢い
いろいろシャレにならない >>608
下手くそすぎる例えだろ
自画自賛なんだろうなw >>606
リプレイスが必要なレベルならリプレイスするのが最適だろ
そうでもないレベルでリファクタが必要なケースもある
「不要」と断言する方が俺には信じられないよ ちゃんと動いてるもんになんでわざわざ手を加えて金取ろうとするの? >>611
リファクタだけで金取るビジネスなんて聞いたことないよ
機能追加や仕様変更時に、手を入れやすいようにリファクタするくらいだろ
もちろんリファクタの工数もスケジュールに入れる
当然だが、もしリファクタやらない方が工数が減るならリファクタはやらん >>612
ちゃんと動いてるもんになんでわざわざ機能追加や仕様変更しようとするの? >>615
そう、改修依頼があってはじめてリファクタを検討する
リファクタした方が工数が少なそうならリファクしてから改修に着手するし
しない方が工数が少なそうならそのまま着手する
あと当然、リプレイスした方が工数が少なそうならリプレイスする 工数で考えるのはまだアマチュア。
プロなら金額で考えれ >>617
工数で考えるべきか金額で考えるべきかは立場によるだろ
それに、馬鹿正直に工数と金額を比例させる必要はない 客に対しては金、従業員に対しても金。
ただし、ベクトルはそれぞれ真逆だがなw >>621
まあ経営側からのみの話ならそれでもいいんじゎね? 客や従業員から見ても、経営者の思いとは逆ベクトルだけどな。 リファクタがリプレイスまでにちょくちょく必要なほど、毎回いきあたりばったりの汚いソースコードの開発会社か
発注したくねー >>626
何度言っても理解しなよな。
リファクタリングは、別途時間をとってやるってものじゃないの
ちょくちょく必要なんじゃなくて、
コード書くときにほぼ毎回必要なものなの
汚いからリファクタリングするんじゃないんだよ
テストコード書いてそれに通るコード書いて
リファクタリングしながら作り上げるの
プログラマが「できました」と言うまでに
何度もリファクタリングが行われる。 >>627
前に動いたところが触る必要もないのに動かなくなってるお前を信じるビジネスパートナーはこの世にいねーんだよ リファクタはテスト工数を減らすために改修前にやるもの >>628
それってさぁ、リファクタリング関係ない話だよね。
共通関数修正したら、前に動いたところが触る必要もないのに動かなくなるじゃん >>630
だから普通は避ける
円周率が3.14じゃ精度が足りない計算が必要になっても
既存の円周率とは別に用意して
既存には一切手を付けない
そういう管理が必要なんだよ >>631
ようするにコピペするってことでしょ?
テストの工数が倍増する問題はどう解決するの? リファクタリングを理解しない人はコスト意識がないんだよね
金を出すのは客だから知ったこっちゃないんだろうけど
コストだけじゃなくて開発時間も伸びるから結局いつも
時間足りなくなってクレームの元になってる コードを共有するなって話だからリファクタリングとは全く関係ないな。
コードをコピペしてるからバグが出たら、体中に転移した
がん細胞探すように、全体を調べないといけない
一箇所直しただけでは、他の部分には影響しない(=バグがあるまま) >>632
リグレッションテストどうすんだよ
ちょっと機能追加するたびに共通化して毎回テストするんか
倍増どころじゃないな リファクタの欠点はどれだけやっても終わりがないことだ
コスト意識がないと
自己満足と脅迫概念にかられて延々非生産的な作業を続けることになる >>632
は?
お前のやり方じゃ、円周率使ってるとこ全部見直すって言ってるんだぞ
追加分だけじゃ済まないぞ >>635
リファクタリングとは全く関係ない話だが
テストは自動化しないとリグレッションテストなんてやってられないだろ?
>>637
> お前のやり方じゃ、円周率使ってるとこ全部見直すって言ってるんだぞ
円周率使ってるところが100箇所あるとして、1箇所に変更があったら、
100箇所同様の変更をして100箇所テスト(自動化されたテストの変更も100箇所ある)を
行わないといけないんだぞ。そんな事やってられないだろ リファクタリングって一旦壊して再構築するんだから
テストし直すのは当たり前だよ > リファクタリングって一旦壊して再構築するんだから
壊すってどういう事? >>627
毎回、リファクタwwww
どんだけ、きたねーソースコードなんだよwwww リファクタで、最適化しているつもりになって、毎回、ソースコードを破壊していくやつ リファクタリングが一旦壊すってどういう意味だろうか? >>642
最適化はリファクタリングか?
http://bliki-ja.github.io/IsOptimizationRefactoring/
> 最適化とリファクタリングはどちらも変化を伴うものだが
> (なかには最適化かつリファクタリングとなる変化もあるが)、両者は別物だと私は考えている。
>
> なぜなら、両者の目的が異なるからである。リファクタリングは、
> コードを理解しやすくするためである。最適化は、プログラムを速くするためである。 >>644
最適化=速度に対する
という完全な視野の狭いアホの落書きw
辞書
最適化とは、速度を改善することである。
って書いてある辞書あるの?www よくもまぁ、マーチン・ファウラーにアホとか言えるもんだわ
お前はこの業界で世界に誇れるレベルの実績があるのか? >>646
マーチン・ファウラーさんは、アホですわあww
ねえ。
辞書に最適化とは、速度を改善することである。
って書いてある辞書あるの?wwwねえ?ねえ?ねえ? マーチン・ファウラーってあれだろ?
開発手法を開発しようとしているのやらwww
それだけいろんな手法を開発してもなお改善しない。
これが何を示すのかわからん馬鹿ってことだ。 ガキが重箱の隅をつついてなんか叫んでるなぁw
この記事に最適化は速くする以外の目的もあるといった所で
「あぁ、そうだな」って言われて終わりだろうに
論点は「リファクタリングと最適化は違う」なんだから 辞書に最適化とは、速度を改善することである。
って書いてある辞書あるの?wwwねえ?ねえ?ねえ?
勝手に、言葉を変更しないでくださいな。大混乱ですわ。wwww 「リファクタリングと最適化は違う」
この場合、「リファクタリング」「最適化」という2単語は極めて重い意味を持つ。
それを「重箱の隅」と片付ける馬鹿w 重箱の隅と言ってるのは「リファクタリング」と「最適化」の比較の話で
「最適化とは速度以外のものもある」ということだよ。
お前は速度以外の最適化に何があると思ってるのか?
それがリファクタリングの比較と同影響が出るのかを答えなさい コードを読みやすくすることは最適化って言いませんぇね(大爆笑) >>655
最適化は、プログラムを速くするためである。
だなんて、断言しているアホwww
辞書に書いてあるの?www コードを理解しやすくするための最適化
という日本語は存在できないんでしょうか?????wwww ちなみに、
俺は、著者を馬鹿にしてません。
読者のお前を馬鹿にしています。 馬鹿「りふぁくたー!」
周囲「新人さん、あの「りふぁくたー!」って言ってる馬鹿のコード使えないから、同じとこAさんが担当してるから。そっちと調整してね。」 >>638
何を言ってるのかわからない
円周率の精度のテストを新たに作った上でのテストだろ stringクラスを変更するって平気で言い出すキチガイ >>663
テストしてないの?
テストしていて、変更しても動きが変わらなければ問題ないでしょ
(前提:リファクタリングは、変更しても動きが変わらない。
動きが変わるものはリファクタリングにはあたらない) >>631
> 円周率が3.14じゃ精度が足りない計算が必要になっても
> 既存の円周率とは別に用意して
あの、リファクタリングは変えないものなので
精度を増やすことは、リファクタリングではなくて単なる仕様変更なんですけど?
なんてことはないリファクタリングの意味をわかってないだけかw >>631
> 円周率が3.14じゃ精度が足りない計算が必要になっても
> 既存の円周率とは別に用意して
> 既存には一切手を付けない
別に用意する必要はないな。
(リファクタリングではなく)仕様変更の前後で互換性があればいいだけ
俺なら精度を上げるための省略可能なオプションを追加する リファクタリング・・・動きは変えない。だから既存の自動テストがそのまま通る
仕様変更・・・動きが変わる。だから全部テストしないといけない
結論。リファクタリングはしてもよいが、仕様変更はするな。 >>666
いいや、仕様には円周率の精度なんて書いてないよ
精度がたまたま必要になっちゃったのは今回の追加処理だけ
それだって明記されてるわけじゃない >>670
精度が"たまたま"必要になる"なんてことはありません リファクタリング(動きが変わらないもの)の話で
仕様変更を持ってくるやつは、何も理解してないとしか言えないな >>675
あるよ
円周率を割と入力しないと違いが出てほしいとこで出ない計算式とかあるぜ >>673
いいか?仕事とはこうやるんだ
仕様書がないということは、いかなる動作変更も仕様変更ではないということなんだ
だから客にはこう言うんだ。
「動作は変わりましたが仕様変更ではありません」 >>678
だから今まで低い精度で行っていた仕様を
精度を上げるというふうに仕様変更したんでしょう?
まさか、そもそも変更すべき仕様がない = 仕様変更ではない とでも? リファクタリングもエンハンスも元あるものから手を加えるなら
それは一度壊す事を意味する
言葉上の意味だがこれが理解出来ないからテストを軽視する >>680
だから必要なのは今回の追加分だけだっつの
客からしたらな
円周率をソース内で使いまわしたいのはテメーのおかしい頭だけなんだよ >>683
> リファクタリングもエンハンスも元あるものから手を加えるなら
> それは一度壊す事を意味する
だからリファクタリングで壊すってなに? >>684
だから今回追加分は、今までと同じ精度では足りなかったから
それに対応する精度に仕様変更するんでしょう? >>682
え?誰も既存処理を変えろなんて言ってないよね?
円周率を何で使いまわしたいの?
精度が必要なのは今回の追加分だけだよ そもそも円周率の精度変更ってなんなんだ?
円周率取得関数の話してんの?
円周率は固定値なんだから、変更すべきコードなんて無いじゃん
でだしからおかしいのかよw >>686
端的に言えば元あるものに手を加えて変更する事
変更してる最中は機能してないんだから壊している
作り上げてテストして元あるものと同等であることが確認出来て
初めてリファクタリングしたと言っていい × 円周率は固定値なんだから、変更すべきコードなんて無いじゃん
○ 円周率は固定値なんだから、リファクタリングすべきコードなんて無いじゃん >>694
> 端的に言えば元あるものに手を加えて変更する事
> 変更してる最中は機能してないんだから壊している
え? 変更ってコミット単位じゃないの?
コミット単位では壊さないよ
まさか、ファイル保存した単位で壊してるって言ってる? >>684
あるシステムにはA機能しかありません。ここにB機能を追加します。
はいこれ仕様変更ね。 >>697
仕様書はないのだから、仕様変更ではない >>698
こいつプログラムと一対一の設計者書いてそうwww >>696
編集してる最中が壊している状態
編集完了してもテストしてない状態が壊れている状態
テストまで完了して完全に機能している事が保証できたらリファクタリング完了 >>701
いや、だから「編集」とはコミット単位で考えてないんですか?
YES か NO でお応えください 今回の追加分の処理の円周率は3.1415までは必要
既存の処理は3.14で十分
このとき既存処理と追加分の処理とで同じ円周率3.1415を共通で使うかどうかって話だな
ビジネスならNo
既存の処理を変更することになる 今回の追加分の処理の円周率は3.1415までは必要
既存の処理は3.14で十分
このとき既存処理と追加分の処理とで同じ円周率3.1415を共通で使うかどうかって話だな
ビジネスならNo
既存の処理を変更することになる >>703
つまりサーバーにアップロードする前
個人のコンピューターの中でだけ
一時的に壊れてるってことですか? >>704
ビジネスならNoとか意味わからんし、こっちが恥ずかしくなるレベルw
仕様による。それだけ。仕様書がないのは論外
> このとき既存処理と追加分の処理とで同じ円周率3.1415を
共通で使うならば、それは仕様変更。なぜなら既存の処理の動きが変わってるから。
なお、動きが変わるのでこれはリファクタリングではない(リファクタリングと関係ない話)
仕様変更なのでいままでのテストは通らない可能性があるだろう
まあリファクタリングではないので、それはしかたない
> このとき既存処理と追加分の処理とで同じ円周率3.1415を
共通で使わないならば、既存の処理は変わらない
既存の処理は変わらないのであれば、追加分の処理を除いた既存の処理はリファクタリング可能(必須ではない)
既存の処理に関しては仕様変更しないので、いままでのテストはそのまま通る
追加分の処理は、そもそも存在しなかったものなのだから、この文は当然リファクタリングではない >>706
コミット単位と言ってる意味が
「毎回機能が保たれた状態に編集してテストまでして問題なくコミットすること」を意味しているなら壊れてない状態
それ以外は壊れてる状態 >>703
質問に答えてくれないので、追加で追い打ちw
つまりサーバーにアップロードする前
個人のコンピューターの中でだけ
一時的に壊れてるってことですか?
他の人は壊れたことに気づかない=壊れてないってことですか? >>708
でも他の人は誰も、一時的に壊れたことに気づかないんですよね? >>711
バージョン管理ソフト用語で、変更の1単位を表す
ソースコードの修正は複数のファイルにまたがることがあるが
その複数のファイルの変更をまとめて一つにしたものがコミット
通常はコミットごとにテストを実行し壊れていないことを確認する >>710
他人は関係なく自分で今プログラムをどういう状態にしようとしているか
編集を始めた時点で壊し始めている
当然他人にそんな事認識できるわけない
ローカルで勝手にやってる事が壊してるというのはおかしいというなら
俺とは考えが違う >>713
え?だってあなたの定義だと既存の機能に全く手を付けなくても
機能追加中も壊れますよね?
ソースコードコンパイルできなくなるんだから >>714
機能追加中はエンハンスだから壊してる状態
文法エラーでコンパイルできないならそれ以前の問題 ソースコードの修正途中に一時的に動かなくなることを壊すと言ってるのなら、
それをリリースするわけでもないので大したことじゃないから
心配する必要はなにもないってことになるのでいいんですよ。 (自動化された)テストが重要なのは、壊れてないことを保証するためですからね
一時的に壊れてもコミット時に壊れてなければ問題ないので
リファクタリング(動きを変えない)の場合はテストを変える必要もないので、
機能追加と違って、安心して変更ができるわけなんですね。 揚げ足取りしかできなくて自分の意見が表明できないなんて悲しいな リファクタに耐えるようなうまいユニットテストつくれん
設定項目が膨大すぎてIF変更やDBの取得先変更で
あっさりで投げ捨てられる
F痛でDBの更新項目とか結果全部テストしてたからそういうふうにしてたが
世間の常識とちがうらしい ゼネコン案件だったらほとんどがコーディングスキルゼロの素人が設計したスマートUI乱用システムだろ
そのようなシステムではそもそもユニットテストは作れないのが普通なんだ
無理してユニットテストを作るんじゃなくて設計か要件定義までロールバックしたほうがいい >>668
動きは変えない。
変わっていないことを証明せよ。 このリファクタ馬鹿って、結婚障害だとか書いてる馬鹿と同一人物なんだろ
ほっとけよ >>627
毎回リファクタリングが必要とか、
無能すぎてもう何やってるか理解できてないんだな。 業務システムだと簡単すぎて時間が余る
暇を弄ぶのも苦痛なのでテストを整備してリファクタリングする
これぐらいでいいんだよ
無理してやるもんでもないし頑なに拒否するもんでもない うちのメンツだとリファクタはまずないわ
なにせ綺麗だもん常に うちは正規職員しかいないから
正規職員も全員偏差値70は最低でもある
だからソースも無駄がないのさ
馬鹿な派遣だらけの職場は大変ですね >>727
ビジネスが進歩とか、
お前の辞書()には面白い単語が載ってるんだな。
つか、表面に見えてるビジネスに依存したソース書くのは素人丸出し。
まともに設計できる技術者なら、リファクタリングなんて無駄な事は発生させない。 >>731
言語やフレームワークの進化も無視ですかそうですか >>1って、自分以外誰も支持してくれない現実どう受け止めてんの?w
ああキチガイだから受け止めないかw >>732
そうそう
お気づきの変化が起きた頃にはリプレイスです
リファクタ不要だろ?w 客「仕様変更をお願いしたいですが」
お前「リプレイスですね」
客「ちょっと仕様変更だけなんですが」
お前「無理です。変えられません。リプレイスしたほうが安いです」
客「来月さらに同じところの仕様変更を考えてるのですが」
お前「またリプレイスでしょうねーwww」 >>731
まあそこが君んとこの限界なんだろうね
業務ルールや要望が変化するたびに秘伝のタレを付け足していけばいいさ リファクタせずに機能追加しまくって
限界が来たらリプレース
理にかなっている ・客先にて
客「広島から大阪を経由して東京へ行く仕様を、京都経由に変更してくれ」
上司「了解しました」
・社内にて
上司「大阪と京都は近くだから簡単だろう?すぐに修正してくれ」
お前「現状、広島から北海道を経由して福岡を経由して新潟を経由して京都を経由して東京に行くようになってますから
京都からさらに大阪を経由して東京に行くんですね」
上司「は? 広島から京都を経由して東京にいくだけだろ。なんでそんなに遠回りしてるんだ?」
お前「動いているコードに手はださない。既存のルートに付け足すだけだ。今までずっとそうしてきた」
上司「それだとムダでわかりづいらいだろ。リファクタリングしろ」
お前「コードぐっちゃぐちゃやねん。手遅れだ。リプレイスしたほうが早い」
上司「なぜこまめにリファクタリングしなかったんだ?」
お前「リプレイスしたほうが早いからだ」
上司「手遅れにならないうちに! こ・ま・めに!」
お前「知るか、リファクタリングなんか不要!」 ・客先にて
上司「この間の仕様変更の作業中に、遅かった理由が判明しました。
広島から大阪を経由して東京に行く仕様ですが、
広島から北海道を経由して福岡を経由して新潟を経由して大阪を経由して東京に行っていました」
客(絶句)
上司「担当者は今回の仕様で、上記に追加して大阪からさらに京都を経由しようとしていましたので、
ご安心ください。クビにしました」 コードを書くのは下流だけど下流に行くほどリファクタリングに無頓着
派遣さんはコードを書かせたらサヨナラバイバイだから
彼らには後の事を考えてコーディングする機会がないのだろうね
そうなるとリファクタリングという発想自体が出てこなくなるのも仕方がない >>738
正解
その頃にはシステム担当者が変わってるから、引き継ぎを兼ねて新しく作るのが吉 新人「大阪経由を京都経由に変更するんですね!(簡単そうだ)任せてください!」
上司「ちなみに納期はこれこれだから」
新人「まあ、変更少なそうだし、大丈夫でしょう」
新人(コード見て絶句)
新人「え!!その期間でその修正を!?」
新人(無理や・・・大阪からさらに京都へ経由する処理を追加するしかない)
上司「おい、なんで。広島から北海道を経由して福岡を経由して新潟を経由して京都を経由して大阪を経由して東京に行ってるんだ?」
新人「知らねーよ。既存のコードがそうなってたんだから真似しただけだ」(暗黒面落ち) >>742
新しく作るには、ぐっちゃぐちゃのコードを解析しないといけないんやで? リプレースって既存システムの仕様解析を諦めてベタ移植するフラグが最初からたってる
汚いレガシーシステムを違う基盤上の汚いレガシーシステムに置き換えるだけに終わる
莫大なコストがかかるくせにビジネス上のメリットは殆どゼロ >>738
> リファクタせずに機能追加しまくって
> 限界が来たらリプレース
> 理にかなっている
限界が来る前の修正でリファクタリングしない理由がわからん 既存システムがめちゃくちゃで仕様解析は無理だ
↓
解析は諦める
行単位で移せば機能を維持したまま移植できるはず
↓
言語やライブラリの仕様の違いのせいでバグが多発
残業しまくって火消しするしかない
↓
なんとか移植完了
バグ数が多いので客は品質に強い懸念を抱いているがテストは通した
たとえスカスカでもテストは通したんだから大丈夫なはずだ
↓
経営陣に土下座させて客への説得もなんとかクリアして受け入れも済んだ
さあ本来の目的だった機能を追加するぞ
↓
コードがめちゃくちゃでどうやったら機能を追加できるかわからないよ
リプレースって毎回こんななるんだけど
リプレースがうまくいくことなんてあるの? リプレースついでに新しくしましょうとかやるからだろ
リプレースは古いものを使うのが鉄則
そんで限界が来るまで使って
限界が来たら、リプレースをする リファクタリングしてリプレースに耐えうるコードに書き換えてからリプレースするとうまくいくのだけど
コストをケチってリファクタリングが省略されて失敗する リプレースって仕様書みて一から全部再実装するんだぞ
そのために仕様書があるわけで、
完璧な仕様書が求められてる >>743
フレームワークが少し変わるとリプレイスとか頭おかしいよね >>739
まさにお前のいうようにするわ
いままで北海道で下車できてたのにできなくなったら大デグレードじゃん
それリファクタじゃない
クビになるのは間違いなくお前のほう
多少遅いぐらいなんだってんだ
通常の現実世界とプログラムの世界の違いを知れよ
どうせ1秒2秒だろ?またせとけよ >>754
> いままで北海道で下車できてたのにできなくなったら大デグレードじゃん
勝手に仕様を追加するな > 通常の現実世界とプログラムの世界の違いを知れよ
> どうせ1秒2秒だろ?またせとけよ
実行時間の問題じゃないのよ。解析にかかる時間が問題なの
別の担当者が作業した時、なんでこんなことをしているのかわからないコードを
自信を持って完成しましたと言えないことが問題なの
何をやってるか知りませんが、動くからバグはないんじゃない?
テストに漏れがないと良いですね。
こんな無責任なこと言えないの 仕様変更で既存のコードに付け足してつじつま合わせのようなことをしてるなら
テストも同じように付け足してつじつまを合わせをすることになる
必要のないテストをするだけじゃなくテスト自体の自信もなくなる。
こんなテストしてますが、このテストは正しいのですか?
必要なさそうなテストですが、前の人がやっていたので繰り返しやります
時間かかりますね。 >>748
リプレースの目的と、今後必要な機能を整理して、
現状よりも効率の良い新システムとして提案するのが正解。 >>758
例えばCOBOLのバージョンを毎日確認したりしないよね
いつの間にか「あれ?バージョンが上がってる?」ってなる
数年スパンで起きる現象なんだから
お気づきの変化が起きた頃には(数年たっていて)リプレイスです。 >>755
理由もなくそんなことになるもんか
変えたら何がおこるかわからん >>759
> リプレースの目的
リファクタリングしてなかったので
想定よりずっと早くコードの寿命が来てしまった
仕方がないのでリプレースで対応します >>761
意味がわからん。
> 客「広島から大阪を経由して東京へ行く仕様を、京都経由に変更してくれ」
どこにも北海道で下車したいなんて書いてない リファクタをリプレースと呼べば多少動きが変わっても許してもらえるという願望 >>755
自分が知らない仕様を他人のせいにするなよ。。。
こういう馬鹿が「聞いてない」「勝手に仕様が追加された」とか言い出すんだよな。
利用者にとって当たり前の仕様くらい把握する力を持てよ? >>762
コードの寿命。。。?
お前の書いたコードは経年劣化するのか? >>763
客も開発者もすべての仕様を常に把握してるわけじゃないからな
どっかでだれか急に悲鳴上げて大混乱になる >>765
だから意味がわからん。
> 客「広島から大阪を経由して東京へ行く仕様を、京都経由に変更してくれ」
どこにも北海道で下車したいなんて書いてない
仕様に書いてない挙動も、動作保証してるのかな?w >>767
つまり「仕様変更は認められません」ですかな?w 客「仕様を変更し欲しい。どれくらいかかりますか?」
お前「仕様変更は認められん。こういう使い方してるかもしれないだろ」
客「いやそういう使い方してないから」
お前「お前が決めるな。客は神様ではない。」
客「お前の所に開発頼むのやめるわ」 >>769
仕様変更の依頼があったら大手を振って変えられるし
多少デグレしても言い訳は立つ
ちょっと大阪を京都にするだけだろ?そこだけ対応するよ? >>759
増改築繰り返したシステムではその必要な機能を解析することがほぼ不可能 客が求めてないのに、一旦リリースした以上
混乱を招くかもしれないからって仕様変更を拒否するとかイミフ >>768
そんなことすら理解できないから、
お前は素人だと言ってるんだよ。
現状それで運用されてるんだろ?
なんでわざわざ北海道経由してるのを
「お前の判断でやめてもいい」んだ?
それは最早リファクタリングでもなんでも無い。
ただのバグ追加だ。 >>771
> ちょっと大阪を京都にするだけだろ?そこだけ対応するよ?
大阪で下車するかもしれないだろ?
というような(意味不明な)話だったはずですが? >>774
> 現状それで運用されてるんだろ?
> なんでわざわざ北海道経由してるのを
> 「お前の判断でやめてもいい」んだ?
↓どうみても客の判断なんだが? 何を言ってるんだこいつ。
> 客「広島から大阪を経由して東京へ行く仕様を、京都経由に変更してくれ」 >>775
なんか気づけば指摘してやるが
そこは客が言い出したんだから間違いがあったら客のせいにできる >>777
つまり
> いままで北海道で下車できてたのにできなくなったら大デグレードじゃん
っていうのは間違いってことね >>778
そりゃ客が北海道で下車したいって今まで言ってないなら
そんなことに対応する必要はありませんね ・客先にて
客「広島から大阪を経由して東京へ行く仕様を、京都経由に変更してくれ」
上司「了解しました」
・社内にて
上司「大阪と京都は近くだから簡単だろう?すぐに修正してくれ」
お前「現状、広島から北海道を経由して福岡を経由して新潟を経由して京都を経由して東京に行くようになってますから
京都からさらに大阪を経由して東京に行くんですね」
上司「は? 広島から京都を経由して東京にいくだけだろ。なんでそんなに遠回りしてるんだ?」
お前「動いているコードに手はださない。既存のルートに付け足すだけだ。今までずっとそうしてきた」
上司「それだとムダでわかりづいらいだろ。リファクタリングしろ」
お前「コードぐっちゃぐちゃやねん。手遅れだ。リプレイスしたほうが早い」
上司「なぜこまめにリファクタリングしなかったんだ?」
お前「リプレイスしたほうが早いからだ」
上司「手遅れにならないうちに! こ・ま・めに!」
お前「知るか、リファクタリングなんか不要!」 続き
・客先にて
上司「この間の仕様変更の作業中に、遅かった理由が判明しました。
広島から大阪を経由して東京に行く仕様ですが、
広島から北海道を経由して福岡を経由して新潟を経由して大阪を経由して東京に行っていました」
客「今までの経由の変更はすべてそんなことをしていたと?頼んでないんだけど?」(絶句)
上司「担当者は今回の仕様で、上記に追加して大阪からさらに京都を経由しようとしていましたので、
ご安心ください。クビにしました」 おまえぐらい同じこと何回もコピペするのが好きなら
リファクタしたくなるのもわからんでもない >>783
読まないで途中参加するやつがいるから
これ結構効果あるんだよ。 一見仕様にないように見えても
イクラ弁当がたべたいとか言い出すやつがいたりして
そこで仕様がねじくれてる可能性もある
ぜんぜん関係ないはずなのに勝手に機能削除してそこでデグレたらだいぶやばい まず経路をデータとして扱うように改修して
既存の経路と同じ結果になるデータを投入してテスト
新しい経路のデータを投入
リファクタリングしてよかったな
しなければ経路を増やすたびにバカバカしい議論、コード分析、コード改修、ビルド、テスト、納品、客先説明をしなければならないところだった
とんでもないコストだよ >>785
何度も言わせるな
なんか気づけば指摘してやるが
そこは客が言い出したんだから間違いがあったら客のせいにできる 客の仕様自体が間違ってた時な
べつにそこだけ変えりゃ今まで通り達成できるのに
全然関係ないとこでデグレてあんたが言ったからだって通んないでしょ >>760
日本語がおかしいって指摘だろ
そしてCOBOLかよwww >>788
そこは客が言い出したんだから間違いがあったら客のせいにできる 言い出した部分自体の仕様バグだったらね
これは関係ないとこの機能削除しようってんだからだめだろ
どっちにせよ現実に対しては何の解決にもならんが そりゃリファクタリングしないほうが良いとか誰も支持せんわw >>792
やっぱり現実的に解決できるのは
リファクタリングしかないのかな
仕様変更で無駄になったコードは削除しないといけないね 今回の例↓みたいに
> 客「広島から大阪を経由して東京へ行く仕様を、京都経由に変更してくれ」
広島 → 大阪 → 東京 を
広島 → 京都 → 東京 に変更する場合
既存の処理(大阪に行く)を残して
広島 → 大阪 → 京都 → 東京 に変更する方法もある
だがそれは客は望んでいない
で、忘れてはいけないのはコレは ”リファクタリングではない" ということ
仕様変更なんだから当然リファクタリングではない
じゃあこの話のどこにリファクタリングが絡んでくるのかと言うと
(手っ取り早いという理由で)広島 → 大阪 → 京都 → 東京 と書いた後
(客の要望通り無駄な)大阪 を経由する処理を省くこと
広島 → 大阪 → 京都 → 東京 を
広島 → 京都 → 東京 にすることがリファクタリング
ここまでやって、完成と言えるのだが
こまったちゃんは動いたからOKでしょで、完成にしてしまうから
それが積み重なって、(客が要求してない)こんなクソコードになる
広島 → 北海道 → 福岡 → 新潟 → 大阪 → 京都 → 東京 仕様変更のたびに、こうやって無駄になってしまったコードを
削除することもリファクタリングの一つなんだよ >>795
その要望で、その直し方する且つそんな直しになるプログラムを組むバカがいるとこで働いてないので 俺はそんなところで目隠しされた状態で働いてる
へたに動いて事故れない >>776
だからお前はど素人なんだよ。
「現状のルートは京都を経由していない」
という可能性に気付け。
勝手に仕様を自分の中だけで完結するな。
相手の意図を正しく判断して、今のシステムと比較して確認しろ。
お前のいうとおりなら、そもそも京都を経由してるんだから
要望じたいが発生しない。 >>803
お前一人でずれたこと言ってるぞ
もう少し落ちつて書いてある要望を見ろ
それが全てなんだから >>786
いちばんヤバいやつ
データ化すると仕様変更にいちじるしく弱くなる
それこそ最初から設計されてなきゃ
なりゆきで変えちゃったらどつぼにはまるパターン
そしてどのみち駅ごとに別のことやるからテスト工数削減できないという
そのうえプログラムだとIF文ですんだところがデシジョンテーブルなんか使ったら
ちょっとしたきっかけで組み合わせ爆発、そのすべてをテストせざるを得なくなる 客や上司が意地悪だとこっちの様子やプログラム見てわざと困るような要求してきたりするしな!
世界が敵に見えてる人間のやることではない リファクタリング禁止とか言ってるやつが書いた(クソ)コード見てみたいよなー
でもクソコード書くようなやつは公開しないだろうなー
ってことでなんかないか探すスレ立ててみた
【反面教師】 オプソで汚いソースコードを見てみる
https://mevius.5ch.net/test/read.cgi/tech/1540137601/ >>805
> そしてどのみち駅ごとに別のことやるからテスト工数削減できないという
駅の話なんて一言も言ってないよ >>805
何言ってんだ?
ハードコードされてる方が変更に弱い
経路という明らかにデータで表現すべきものを手続きで実装するなんておかしいよ
そうやっておかしなことをやるから「既存の経路をコピペして付け足しましたー」などと無茶をする奴が現れる
データだったら「新規経路登録しました」で済む話だ
プログラムの変更がないからテストも最小限で済む
客への説明もこれ以上ないほど簡単だ この事例でパスをデータ化しない奴は即刻クビでもおかしくない 任意のデータを扱えることという要件がない以上やらんほうがいい
客の要望が都合よく同じ枠組みからずっと外れずにいる保証なんてないぞ
やっていいのはこっちが開発のアドバンテージを握ってるときだけだ
思い付きで下っ端がリファクタでやるとか自殺行為 仕様が変わる可能性があるから「具体的な経路」と「枠組み」を分離してメンテナンス性を上げるんだろが
これらがハードコードされて絡み合ってたら直すに直せんぞ 経路が本当は何を意味しているか気づいてないやつばかりだなw
これ、コードの修正方法の話よ?
例えば、既存の処理が
A という処理を行って
B という処理を行って
C という処理を行っているとき、
仕様変更で、BをB'に変えてください(もうBは不要です)と、客から注文が来た時
A という処理を行って
B' という処理を行って
C という処理をすればいいのに
もしかしてBを使ってるかもしれないだろ!(実際には使ってない)と
使うかもしれないだろ(そんな予定はない)と
動いているコードに手を出すな!とかいって言って
客が残せなんて言ってないものを自分の判断で勝手に残して
A という処理を行って
B という処理を行って
B* という処理を追加して Bの結果からB'の結果を作り出して
C という処理を行うという修正をする
素直にBをB'に変更すれば、コードもシンプルになり内容を明確になるのに
修正するたびに既存のものをなるべく残して処理をねじり込ませてコードを複雑にしていく
こういうことするやつがシステムを腐らせていく
なお修正作業の流れだが、BをB'に変更するのが簡単であればそのまま変更すればいいが
複雑な場合は、直接 BをB'にするのではなく、一旦 B+B* にしてテストコードを書いてから
リファクタリングすることで B+B* を B` に変更するという方法もある >>820
内容が理解できないなら無理して話に加わらなくてもいいんだよ? >>812
既存システムで扱われている「経路」というものを
「データで扱った方が良い」と判断した根拠が示されていないんだから、
賛同者が居ないのは当たり前。
データに分離しない方が楽なときはまたリファクタリング()するのか? >>821
書いた俺が内容わからないわけ無いだろw >>824
お前は、自分の書いたことすら理解できてないだろ。
1つのレス内ですら筋が通ってない。
真ん中頃と最後の発言比べてみ? こんなに必死になっても、誰も同意してくれないってことは
自分に間違いがあるってことだってことに気が付かないんだろうな
人の意見に耳をかさず、自分の意見は主張し続ける
パヨク病だな完全に >>828
こんなところで自己紹介しなくていいから >>820の言いたいことがわからん
方針決めずにダラダラ書いていくのがリファクタリングってこと? 設計もせずにいつもグダグダになるから
リファクタリングが必要とか言い出すんだろう >>830
> 方針決めずにダラダラ書いていくのがリファクタリングってこと?
リファクタリングの利用の場面はいくつかあって、
その一つが、テストファーストであるという話
先にテストを書いて、そのテストに通る最低限のコードを書く
(ここまではリファクタリングじゃないぞ)
そしてテストに通る状態を維持したまま、質の高いコードに変える
これがリファクタリングの利用例の一つ >>833
なんではじめから質の高いコードを書かないの? 時間効率悪くても
最初は動くの確かめて安心したいから >>834
既存のコードがあって、そこに付け足すから。
ちょうど今やってるんだが1関数50行のコードがある。
少々長めだが、switchである値はこれ、この値はこれ、みたいな処理の連続で
単純な処理なのでこのままで質には十分だった。
だけどその値のパターン数が5つだったが、新たに3個追加になる。
似たようなコードなので今のコードに単純に追加するのは簡単だが
これをやると単純計算で1関数80行にもなってしまう。1関数80行はさすがにヤバい。長過ぎる
許容範囲の品質が、悪い品質に変わる瞬間
だから今リファクタリングを行ってる段階。(3個追加はまだする段階ではない)テストはあるので安心。
関数の中にある似たようなコードを共通化して別の関数に追い出すことで15行減らした。
もう一箇所減らせそうなので15行、50行のコードが20行程度になる予定
これに3個追加しても+12行で32行なので十分な品質だろう
もしもっとパターン数が追加になれば、パターンごとに別関数にするだろうけど
まだそこまでやる段階じゃないな。今の段階でこれをやると逆に関数に分けすぎで見通しが悪くなる >>836
設計しろよ。。。
スケーラビリティーの考慮なんて基本中の基本。 >>837
コストを考えろ。
必要かどうかもわからないことをやるな ソースコードが仮に1万行だとすると、
1関数あたり平均20行として500関数ぐらいかな?
今作ってるのを見てみたら2000行程度で
120関数だから大体計算あってる
何が言いたいかって言うと、1万行で500関数ぐらいは
設計時点で関数名出してくださいよっていったら
不可能と言うだろうってこと。俺もそう思うw >>839
設計もせずに書き始めるから書き直す羽目になるんだろ。
コスト意識ないバカはこれだから・・・ >>841
設計っていうのは規模で変わるんだよ
一階建ての家と二階建ての家の設計が違うように
設計は変えないといけないの
お前MS-DOSの時代にWindowsの設計をする馬鹿じゃないだろうな?w ガチガチに設計してしまったら、変更に弱くなるからな
作り直しが必要になるのは、やりすぎた設計が原因だよ
必要最小限の実装にしておけば、そこだけ修正すればいい 全く設計しないみたいな論調はどこからでてきた?そして何故その前提を受け入れるんだ?
リファクタリングは必須だがだからといって設計をしないわけじゃない
どんなに注意深く設計しても多人数で時間をかけてコードを蓄積したらコードは劣化するからリファクタリングが必要なんだ
はじめから汚く書いてもいい免罪符にはならん
テストドリブンでもすべてを厳密に動く汚いコードから始めるメリットはない
普通はできるだけキレイで動くコードから始める 設計を変更するって言ってる時点で、
最初に設計してるの当たり前ですわw
客からなにを言われても、修正対応は受け付けない!って
突っぱねるなら話は別だけどwww とりあえず、1万行のソースコードから
500個の関数名を始めに設計(?)できるもんなら
やってみなと
あーだこーだと机上の空論で手を動かさず
設計に何ヶ月もかかったりしてなwww >>844
リファクタリング必須とか言ってる時点で設計とは何かを理解していない 詳細設計書く力があったら普通にできるんじゃないか
やることって大体決まってるだろ >>847
設計と内部構造に何の関係があるの?
設計をしていれば、内部構造も決まるってこと? あ、KACが言ってることが破綻してきたw
どう答える気だろうwww >>850
なにが破綻してるというのか。
内容が理解できないなら無理して煽らなくていいぞ? 破綻してるな。
リファクタリングは内部構造(実装)の問題点を修正するものなんだから
設計していればリファクタリングが不要になるというのなら、
設計時点で、内部構造(実装)まで決まっていないといけない しかも、最初の時点で最終的な設計をしなければいけない
バージョンアップしていくという当たり前のことできない バージョンアップしてもリファクタリング不要にするってことは
初期バージョンの時点で最終バージョン用のコードを書くってことですかねぇw
最終バージョンの機能なんて決まってんの?
そもそも最終バージョンなんてものが存在するのか知りませんが 最初のうちから完璧なものを出せって考え方だと
いつまでたってもリリースできないんやで なるほど。
お前が設計がどういうものか全く理解していない事はよく分かった。 昔はこの手の人を小ばかにした韜晦でいいようにつつきまわされたもんだ
今は死ねとしか思わん >>857
みんなお前がわかってないと思ってるよ
なぜならお前は設計がどんなものかを何一つ言ってないから >>859
おまえ、周りの人達も「設計を理解していない」とか思ってる?
理解してて当たり前だって事すら知らないんだな。 IT技術者辞典
理解=個人的解釈
当たり前=根拠のない思い込み では設計を理解してるKACに問おう
設計とはなんぞや?
簡潔に述べよ 昨日の50行→80行になりそうだった関数。言ってなかったけど
あれからリファクタリングして35行に減らした。
で、そのあともう少し見直して、パターンごとで関数に分けるのではなく
中でやってる処理を複数の処理に分けられることに気づいた(適切な名前をつけられた)
そこで分割したら、メインの関数が25行に減って、そこから呼び出す4つの関数
(それぞれ15行、20行、5行、10行)に分割できた。
テストもそれぞれの関数ごとに行えるようになったので、よりシンプルになった
最初からこうしろと?無理だよ。一番最初は30行程度だったんだぜ。
初期バージョン時点の複雑になってない状態で分割とかしてたら
いつまでたってもリリースできない。 >>865
?
時間をかけて35行に減らしたものを、さらに、25+15+5+10 = 合計55行に
増やして "改善された" って言ってるんだけど?
行数で "あんたが望んでいるようなこと" は何も語ってないよね?
このようにリファクタリングで時間がかかるのに
将来のバージョンアップでどうなかもわからないのに
最初のうちに将来のバージョンアップを想定してやるのは時間の無駄
だけど1関数80行を放置したら、さらに時間がかかる
このタイミングでリファクタリングするのはいいタイミングよ。
開発コストは行数とは無関係。だけど多くの場合複雑度とは関係ある
複雑だとテストの時間も長くなるし、バグも増える
コストを掛けて1関数の行数を減らす=複雑度を減らすことは
将来のコストを減らすことにつながる
ただし1関数の行数は減っても全体の行数は増えることもある。
もちろんそれで良い。重要なのは複雑度
だから行数と開発コストを関連付けるなんて古いタイプの人間の考えとは全く違う あと設計で関数の名前を出すといってるのかしらんが、
実装(何行かかるか、どれくらい複雑か)がわからんうちに
どれくらいの数の関数が必要なのか、わかるはずがない
5行以下の関数を大量に作ったら、それはそれで分かりづらいし
そもそも関数に分割するべきかを行数で判断してはいけない
(ただし行数と複雑度に相関関係はある。俺は行数ではなく複雑度で判断して分割している) 現実でも誰にも支持されてないんだろうな
これだけ利害関係もない多くの人がいるとこでも支持されない
無様w
誰でも極端なやつは相手にされないんだよ
適材適所
なんでもかんでも自分が読んだ本はすべての人が実践しなければならないって思い込んじゃうんだろう
精神病患者だな完全に 40年ぐらい前なら支持されてたかもしれないなー
当時はリファクタリングなんて用語はなかっただろうし
自動テストってのもなかっただろう まあ待て支持を得られているかどうかを判断するのは
KACが設計とはなにかを語ってからにしようじゃないか
今は何も言ってないから支持を集められないだけ KACが考える設計がそれ(世間一般の常識)とずれてるって話 >>870
40年前だと、ほんとに露骨なほど、
腕の良いプログラマとそうでないプログラマの作ったソースコードの差が酷かったからなw 根本的に海外の人の設計思想って、日本で言うところの内製環境が絶対的前提条件だしなあ
ぶん投げた先の派遣の馬鹿に設計なんてやらせないし >>876
本人が設計を言わないで、
オラの考える設計と違うだと言ってるから
KACが間違ってるんだろうって話だよ >>877
海外と同じように、派遣がやってる設計を全部
自分の所で引き取って、自分で設計すれば良いのでは?
本当の理由は、派遣が〜じゃなくて
あんたの会社に、開発リソースがないってことでしょう? >>878
設計なんて皆普通に理解できるけど
貴方には無理って事? >>880
は?
プログラマの立場。日本と海外とどういうスタンスの差があるか調べたら?
その違いから、根本的に海外の開発設計思想を日本で語ろうというのが間違いなんだよ 日本の場合プログラマは大半が派遣・少し外部、部内プログラマは極小
海外の場合プログラマは大半が部内プログラマ、少し派遣・外部 日本で開発設計手法を語るなら、日本の開発環境を大前提とした開発設計手法を独自に考えないと意味がないね
たとえガラパゴスと言われようとも
それが嫌なら、海外とプログラマの立ち位置を同じようにしないと話しにならん >>882
いやいや、派遣のせいにするのではなくて、
そういう開発してるのはあんたの会社でしょうって話。 > 日本で開発設計手法を語るなら、日本の開発環境を大前提とした開発設計手法を独自に考えないと意味がないね
念の為に言っておくけど、海外の開発設計手法は
全て日本には当てはまらないという話にしたらだめだよ?
海外の開発設計手法は全く使ってないと言うのなら別だけど。 結局リファクタリングって何してるの?
関数を小分けにして作業時間の水増しを図るって事? ソースコードの複雑性を解消して
メンテナンス性を上げてる まああれだな。
整理整頓するのには時間がかかる
だから散らかっている方が、時間の節約になる
と短絡的に考えてる人には理解できないw そもそも散らかさない
という考えには至らないんだよな >>891
面白くないよ
バージョンアップすると、
必ず無駄な部分、効率が悪い部分が出てくるんだから
それよりキミ、自分の宿題をなかったコトにしないように
863 名前:仕様書無しさん[sage] 投稿日:2018/10/24(水) 20:23:06.43
では設計を理解してるKACに問おう
設計とはなんぞや?
簡潔に述べよ >>890
なるほど
整理整頓・ゴミ掃除が下手な人の言い訳なんだね >>893
そうそう。片付けるのには時間がかかるからと言ってやらない
結果余計に時間がかかる。
それを防ぐのがリファクタリングなわけさ。
こまめにリファクタリングしましょう >>894
でも整理整頓は一般常識の範囲なんで普通は仕事とは言わないよね?
その作業を仕事といってお金取るのはどうなんだろう
整理整頓をリファクタリングっていう言葉に置き換えて仰々しくみせてるだけな気がする 1剣件あたり10nsでやらないといけないとこを勝手に無学なやつにリファクタされる悪夢 >>895
> でも整理整頓は一般常識の範囲なんで普通は仕事とは言わないよね?
それは「整理整頓」の話ですね。
リファクタリングの話じゃないです。 >>896
リファクタリングしても10nsで実行できていれば問題ないのでは??? >>897
え?リファクタリングってコードを整理する事でしょ
処理の共通化や細分化ってコードの整理じゃないの?
整理整頓と同義だと思うんだけど 1. 作業をしていると散らかるのは避けられない
2. だから整理整頓やリファクタリングをしないといけない
3. 整理整頓もリファクタリングも作業効率が上がるという効果がある
4. 整理整頓は仕事ではないが、リファクタリングは仕事である >>900
1から3まで
と
4が一致しないというwwww >>899
はい? 整理整頓は仕事じゃないですが、
リファクタリングは仕事だって言っただけですよ?
そりゃどちらも効果はあるでしょう?
効果はありますが、整理整頓は仕事とは言わないといわれたから
リファクタリングは仕事かつ効果があるって話をしてるんですよ >>901
そりゃ、違うものなんだから違う部分ぐらいあるでしょう
頭大丈夫なのか?
効果は一緒。
仕事かどうかは違う >>900の話で、整理整頓が仕事から除外された理由がわからんわwwwwwwww
やっぱりキチガイだwこいつ >>904
> でも整理整頓は一般常識の範囲なんで普通は仕事とは言わないよね?
整理整頓は仕事なんですか?仕事じゃないんですか?
仕事なんですよね? 作業をしていると散らかるのは避けられないので、整理整頓やリファクタを「しなければならない」
整理整頓やリファクタは「効果がある」
だけど、整理整頓は仕事では「ない」。リファクタは仕事で「ある」
なにが起こったんだ???wwww 普通に考えれば、会社でやる整理整頓は仕事の一環ですよ
もちろんリファクタリングも仕事の一環
おかしいのは>>895 >>906
よし>>895を問い詰めようぜ。
この馬鹿が、整理整頓は仕事じゃないって言ったんだ なんだよw 結局、整理整頓もリファクタリングも
仕事なんじゃねーかw (リファクタリングの)アンチって行き当たりばったりで
しゃべてるから、すぐ矛盾起すよねw >作業をしていると散らかるのは避けられないので、整理整頓やリファクタを「しなければならない」
この「作業をしていると散らかるのは避けられないので、整理整頓やリファクタを「しなければならない」」から、お前以外誰も同意してないけどな。 >>910
整理整頓は仕事じゃないって言っちゃった本人ですかw
社会人失格ですよ >>912
そういうが、お前に同意しているやつは一人もいないじゃん コードのリファクタより重要なことは
ユーザーのシステム仕様に対する記憶や理解、把握が劣化しないようにすること
これをダメポシステムが教えた。
ユーザーのシステム仕様に対する記憶や理解、把握が劣化しなければ、システムの再開発は容易い。 >>915
それが不可能だからという前提なんですが・・・ 十分な時間が与えられ、誰も間違いをおかさず、仕様、設計が変更にならず
バージョンアップ(段階リリース)することもなく
最初から最終バージョンをいきなりリリースして
その後バグ修正以外のことをしないなら
リファクタリングなんか必要ない >>917
それも不可能という前提なんですが・・・ >>915の対応作として最近出てきてるのが、担当者交代毎のリプレイス法なんだがトップが理解してくれない悲しい現実 895だけど整理整頓を仕事の範囲なんて書いてないけど?
一般常識でいう整理整頓って普通は仕事前とか終わりなんかに自主的にするもので仕事外の作業だと思うんだけど…
そもそもコード書いたときに日常的にコードの整理を最後に加えておけばいいだけなんじゃないの?
なんでリファクタリングっていう整理だけの工程が仕事になってるの? >>921
あ!なるほど…いいよねフリーダム
束縛されない人生って素敵やん 別名:無職
司法「仕事は?」
リファクタリアン「社畜どもがwww」
司法「無職ね」 >>922
え?なに極端なこと言ってんの?
仕事なんだから仕事時間内にやれって言ってるだけなのに
そんなんだから社畜なんだよw >>920
そのコードの整理も仕事のひとつだと思うぞ おまえを支持するくらいだったら無駄にリファクタリングするわ 無駄なリファクタリングもあれば必要なリファクタリングもあるよ
当たり前だろ 整理整頓って言った方が心理的抵抗感が減ってGoサインが出やすくなることに気付いた でもまあGoサインとかもらうもんじゃないけどな
修正作業に含まれるものなんだから コードの複雑さを数値化して
複雑すぎるモジュールは作り直すんだよ
もちろんテストは全部やり直す >>935
そしてその作り直したものに修正を加える時はどうするの? >>935
正しいけれど
真の馬鹿は閾値を馬鹿みたいに上昇させて
結局リファクタリングなんてさせない。 複雑かどうかより、追加変更のしやすい形に直すんだぞ。
変更しやすければ、より複雑でも構わないんだ。
仕組みの複雑さより、見た目の複雑さの方が問題なのさ。 部下が勝手にリファクタやってたら懲戒にするわマジで >>938
「複雑」という言葉の意味を理解してないように見える
コードが複雑という話。重要なのは「コード」
読めない人がいる というのは「人の話」
この2つをごっちゃにしてはいけない
変更しやすいが複雑なコードなんてものはないだろう
>>939
リファクタリングは修正作業の中に含まれるものなんだが?
勝手に修正はしませんよ。客などからの要求があって作業します。
修正しろと言われたら、案に必要ならリファクタリングすることも含まれるってだけです。 >>938
次の仕事来なかったら意味ねーじゃんアホ? >>940
>変更しやすいが複雑なコードなんてものはないだろう
そんなことないよ 複雑と言うのは、既存機能モジュールに置き換えしたら結果全体的には複雑化になるって話だぞ。
複雑さと読みにくさは比例しない。
複数の分岐処理と論理演算駆使した1分岐処理と、どっちが複雑?
でその論理演算を1つの関数にまとめたら、最初のものと比べてどっちが複雑? 規模の大きい企業システムが混乱する原因はほぼ100%データベースだから
アプリケーションコードだけリファクタリングしてもあまり意味がないと思う >>945
DBリファクタリングはノウハウがあっても業務系では絶対に許可が出ないから需要がない > 業務系では絶対に許可が出ないから
それはノウハウがないってことでは?
許可が出ないのにノウハウなんて貯まるわけ無いでしょw
ってか、仕様変更があったらどうすんの?
DB変えられないので、仕様変更は受け付けませんって
客の要求を突っぱねるの? 仕様変更は(多大な労力が必要だけど)許可が出る
そこをはき違えちゃいかん だから仕様変更でリファクタリング(が必要な場合)の許可がでるでしょ
仕様変更などで(客などから要求があって)変更する許可がでたときに
作業工程の一つとしていれるのがリファクタリングだって何度も言われてるじゃん
なんでまたいつものように、勝手にやるのがリファクタリングだって思いこんでるのさ? 余計なことするなって言われて終わり
最小限の変更は許可するがそれ以外は認めない
これ常識ね そう思ってるのは末端だけ
決定権持ってる人は揃って無駄な工程と言う でも、無駄な工程と言ってるあんたは
決定権持ってないじゃんw リファクタリングは余計なことじゃないのかもしれんが
おまえらがやってるのはゴミを別のゴミに変えとるだけやからな
そもそもリファクタリングちゃうし どうしておまえらごとき一介のコーダーがリファクタリングできると勘違いしてしまったのか
闇は深いでこれ コーダーはコードしかみてないからな
変えた後の単体から受け入れまでのテスト工数
デグレのリスク
なのに後から参加して詳細知らないPGほど積極的で
最悪前よりさらにぐちゃぐちゃになる そもそも問題ないとこさわるな
一生経っても終わらんなる そこの関連のテストがナンボあるかわかってないやつに限って触ろうとする狂気 コードの問題じゃないぞ
動きに問題があるときだけだぞ >>953
俺が言ってる言ってないは関係ないと知れ >>962
コードを修正するときにより複雑にしていまい
不具合が発生する。大問題ですね >>964
せやな。上であるお前(笑)が
無駄と言ってるかどうかは関係ないなw >>960
> そこの関連のテストがナンボあるかわかってないやつに限って触ろうとする狂気
でも、客から修正しろって言われたんですよ?
客にテストがなんぼあるかわからんから、修正は受け付けないって突っぱねるの? リファクタリングの許可が出ない現実は変わらない
これだけは確かだ >>968
いや、修正作業の一環として普通に出るんだが? >>967
客の命令は仕方がないので直して全部テストする
余計な修正はしちゃダメ >>969
出ないよ
データベースの話だぞ
DB管理者が抱え込んでるからアプリ開発者などには手出しできん 大きいプロジェクトはな、詳細なんて誰もわかんねーんだよ
だから動くと自信を持って開発することなんかできやしない
動くかも?動くと良いな。で開発してあとはひたすらテストして
あ、動いてる?良かったよかったってのを増やすしか無いんだよ
その程度のプロとは思えない仕事をするのが現実なんだから
リファクタリングして動くと自信を持てるコードになんかする必要ないの
動いてるといいなーレベルで十分。 >>971
いや、仕様変更するんだから変更許可出る > DB管理者が抱え込んでるからアプリ開発者などには手出しできん
DB管理者がリファクタリングするんでしょ?
動きを変えないのがリファクタリングなんだから
アプリ開発者にとっては関係ないこと 新人が結合テスト中にコードリファクタして文字とか定数に変えまくってて
全体がめっちゃ変更履歴ついてて肝が冷えた
でも問題おこってないからわりかし大丈夫なのかもしれない やっぱ>>945(データベース・リファクタリング)読んだほうが良いぜ
お前(ら?)、どうせ無停止(もしくは短時間の停止)で
(客からの支持に伴う仕様変更で必須な)データベースの構造変更とかできないだろ?
データベースとアプリを同時に変更しなきゃいけないから
どうしても停止時間が必要ですとか思ってそう
(データベースの)リファクタリングは動きを変えないものなんだから
データベースのみ変更できるんだよ。 >>975
リファクタリングは動きを変えないものだからねー
動きを変えるものの変更は大変だけど
理論上動きが変わらないと確立されている
変更を行うだけだから問題は起きにくいんだよ >>976
んなあほな…
止められるときは止めたほうが安全だろ
変更中にシステムが正常に稼働し続けるテストとか
手続きを間違いなく行うための準備とか
その変更プロセス自体のリスクと重さ考えたら
よっぽどのことじゃなきゃやれん > 止められるときは止めたほうが安全だろ
止められない時の話をしてる > 変更中にシステムが正常に稼働し続けるテストとか
そんなんじゃAmazonのように24時間稼働しつづけてかつ
変更もされていくシステムなんか到底できそうもありませんね >>980
あいつら機械とかビルごと別のにしてんじゃねーの リファクタの手続きとしてはわかる
でもこれってほんとにシステムを停止させないための話なの?
切り替えるのはサブ構成作ってマシンごとごっそりやっちゃうみたいな感じじゃないの >>984
アプリとは違ってデータベースはサブ構成作ってえいやって
置き換えることはできないんだよ
すでに大量のデータが溜まってるんだから
データの変換作業というものが必要になる
そういうのをどうやるかが「データベースリファクタリング」には
書いてあるんだが絶版 >>988
意味がわからん。データベースはサーバーを分散したとしても
えいやって置き換えることはできないって話をしてる >>990
データベースを分散化することで、何がどう解決するのか言ってみ
お前、目的を忘れてるみたいだからさ あ?
まさか、単にバラバラにデータばら撒いてるだけだと思ってる?
主な目的は、相互補完だぞ。 そういうのは良いから、何(どういう問題)がどう解決するのか書いて
どうせわかってないから誤魔化かしてるんだろうけどw ちなみにデータベースのリファクタリングの話をしてるんだからな リファクタリングするよりクリアなスキーマ設計のデータベースを立ててデータ転送する方が楽 はいはい。それを無停止でやる方法が上で書いた
「データベースリファクタリング」に書いてあるんですってば
何周も回ってやっと追いついた感じだなw だめな会社は、優れたこと(リファクタリング)でも
理解できないので、なんでもだめといいます。
ゲーム?よくわからないからだめ
漫画?よくわからないからだめ
インターネット?よくわからないからだめ
これと一緒です。
とりあえず否定からはいって
会社をダメにする奴らです このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 164日 1時間 10分 26秒 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php レス数が1000を超えています。これ以上書き込みはできません。