2ch勢いランキング アーカイブ

リファクタリングすると全部テストしろと言ってくるやつの矛盾


仕様書無しさん [sage] 2018/04/15(日) 13:13:44.63
機能追加や変更した時に、全部テストしてるでしょ?
いつもやってることじゃん
仕様書無しさん [sage] 2018/04/15(日) 13:16:31.37
それなw

あと、リファクタリングするとお前責任取れるのかとか言ってくるが
機能修正でバグった時の責任はリファクタリングじゃないんだから
全部あんたがとれよって言うと顔真っ赤になるw
仕様書無しさん [sage] 2018/04/15(日) 13:23:46.40
半角カナを使う奴まだいたのか
仕様書無しさん [sage] 2018/04/15(日) 13:29:25.23
スレタイ長くて入らないからね
仕様書無しさん [sage] 2018/04/15(日) 13:53:39.75
簡潔にまとめられない奴はプログラミング向いてない
仕様書無しさん [] 2018/04/15(日) 14:07:43.60
そんなことない
なんでもかんでも一緒にするな
KAC [sage] 2018/04/15(日) 14:29:02.33

テスト粒度とかリスクとか理解できないの?
仕様書無しさん [sage] 2018/04/15(日) 14:43:15.84
リファクタリングはテスト必須で
論理的におかしくならないと判明している
決められたやり方でやるので
リスクは低いしテストは自動化されています。
その前提ぐらい知らないんですか?
仕様書無しさん [sage] 2018/04/15(日) 14:45:55.12

だからテストやらなくていいって?
そもそもクラスまで作り変えてるならテスト免除どころか設計書のレビューからだよね
仕様書無しさん [sage] 2018/04/15(日) 14:46:35.64

リファクタリングは「テストをやってる」ことが
前提なので、
あんたが言ってるのは別のものでは?
仕様書無しさん [sage] 2018/04/15(日) 14:47:26.22
> そもそもクラスまで作り変えてるならテスト免除どころか設計書のレビューからだよね

そうですね? なんでレビューせずに
リファクタリングするなんて思い込んでんの?
仕様書無しさん [sage] 2018/04/15(日) 15:05:33.14
> リファクタリングはテスト必須で

って書いてあるのに



9 返信:仕様書無しさん[sage] 投稿日:2018/04/15(日) 14:45:55.12

だからテストやらなくていいって?


これもう頭が悪いレベルだろw
仕様書無しさん [sage] 2018/04/15(日) 15:06:06.29
リファクタリングの存在を否定できないと
困る人がいるんですよw
仕様書無しさん [sage] 2018/04/15(日) 15:30:21.76
設計書から書き直すならただの改修作業なんだよね?
仕様書無しさん [sage] 2018/04/15(日) 15:32:49.90


改修作業の中身の違い

 1. 無計画に適当に修正して手動でテストしてそれでもバグでて苦労するのと
 2. リファクタリングの手法を使ってテストコード書いて低リスクで修正するかの違い
仕様書無しさん [sage] 2018/04/15(日) 16:11:52.19

具体的にどう違うの?
仕様書無しさん [sage] 2018/04/15(日) 19:48:05.09

TDDでリファクタリングした場合、
1、初歩的なミスにすぐ気付ける
2、作業者が精神的に安心できる

なお、開発者目線の開発体制の優先順位は
バージョン管理 > コードレビュー > 自動テスト > リファクタリング
なので、必ずリファクタリングとTDDはセットになる
仕様書無しさん [sage] 2018/04/15(日) 19:48:54.60

リファクタリングの手法では先に自動化されたテストコードを書く
もしくはすでに存在していなければならない
だから、リファクタリングしたらテストしろよっていうのは意味不明。

リファクタリングの中にテストすることが条件として含まれており
修正前と修正後の両方、それどころか修正のたびにテストすると言ってるのに
なんでそんな当たり前ことを、それも最後だけテストするような質問をするんだ?と
疑問になる

おそらく修正とテストが分離した考え方しか持って無くて
修正後に手動でテストを行うというやり方しか知らないのだろう
そんな再現性がなくてテスト回数もすくないんじゃ、
バグがなかなか取れずにデスマになるのは必死だろう
仕様書無しさん [sage] 2018/04/15(日) 21:04:44.02

工数も削減できないし
品質も上がらないんだ?w
仕様書無しさん [] 2018/04/15(日) 21:17:10.48
なにをゆうちょるんじゃあ主は
仕様書無しさん [sage] 2018/04/15(日) 21:37:54.42
リファクタリング厨って受け売りでしか語らないから面白くない
仕様書無しさん [sage] 2018/04/15(日) 23:16:16.00
ゴミスレ
仕様書無しさん [sage] 2018/04/16(月) 05:06:44.38
オープニングから自演w
仕様書無しさん [sage] 2018/04/16(月) 05:08:34.00

というか、責任あるポジションの経験がないやつが語ってるだけだからな
ちゃんと決定権を持つやつを納得させるだけの説明ができればいいだけだが、
それすらできていないっつーね
仕様書無しさん [age] 2018/04/16(月) 06:25:24.08

責任とって辞めます。
仕様書無しさん [sage] 2018/04/16(月) 12:37:10.95

そこらへんの話でいうと、
売上や品質が上がった客観的なデータが示せりゃ、どの会社でも自動テストやリファクタリングは採用されるんよ
そこまでしてないなら、その議論は語るに値しない
んで、殆どの会社はそこを検証していない
仕様書無しさん [sage] 2018/04/16(月) 12:45:59.35

そんなもん、やってみりゃ肌で感じ取れること
数値にしなきゃ理解できないよぉとかバカみたいなこと言ってると腕のいい職人にはなれませんよ??
仕様書無しさん [sage] 2018/04/16(月) 13:26:59.58

数値にできる学がねぇんだろw
数値化しろよ
仕様書無しさん [sage] 2018/04/16(月) 13:36:47.19

仕事を規定の時間内に許容できる品質のものを上げるのが実装者に求める要求で、それに付随する手段は手段でしかない。
で、手段は自由にやればいいし、基本介入しないし、結果しか見る気は無い。
だからやりたければやれば?としか自分は言わない
工数増えるのは論外
仕様書無しさん [sage] 2018/04/16(月) 14:37:58.22

> そこまでしてないなら、その議論は語るに値しない
> んで、殆どの会社はそこを検証していない

検証しろっていうのはわかるが、それは世間一般には
すでに検証されていてすでに品質が上がったというデータは出てるんだよな

それも検証するコストも出せないような会社がやるような中途半端な
方法じゃなくて、もっと大規模で信頼できる方法で検証した結果がすでにある。

で、それを参考にすりゃいいのに、参考にしないんだろう。
つまり他人を信用してない。だから他人がなにやってもどんなデータを出しても
そういう会社は信用しないんだろう。
仕様書無しさん [sage] 2018/04/16(月) 14:41:43.64
リファクタリングが有効かどうか?
検証してやるよ。コスト?そりゃ当然かかるよ

ここで嫌がる会社が多い

重要なのは、失敗するかもしれないがやってみよう
という考えが通じる会社かどうかなんだろうな
仕様書無しさん [sage] 2018/04/16(月) 14:52:53.46
体力がなくて単純工すらできないごみクズがIT技術者(笑)になる日本では
コストメリットどころかリスクしかない。
KAC [sage] 2018/04/16(月) 17:54:10.17
「リファクタリングしたら工数減ります」
「リファクタリングの為の工数ください」

うん。意味不明だね。
仕様書無しさん [sage] 2018/04/16(月) 18:19:38.72
> 「リファクタリングの為の工数ください」

誰もそんなこと言ってないけど?

が言ってること勘違いした?
リファクタリングが有効かどうかの検証の話だよ。
検証するには、同じことをリファクタリグをするのと
しないので2回やらないといけない。
検証にはコストがかかる。
仕様書無しさん [sage] 2018/04/16(月) 19:00:22.44

俺の筋肉量でリファクタリングの効果を説明できる
仕様書無しさん [sage] 2018/04/16(月) 19:33:16.67

いや、リファクタリングで総工数が減るなら勝手にやればいいだけじゃね?
リファクタリングで品質下がるなんて聞いた事無いわけだし。それとも単体テストレベルまでがっちり管理されてんの?
仕様書無しさん [sage] 2018/04/16(月) 19:50:39.52
リファクタリングで増減する工数って、内部設計クラスレベル〜クラステストまででしょ
詳細設計省かずやる巨大案件でも無い限り、実装者に委ねられる部分やん。
ともすれば、やりたきゃやれって回答にしかならん。
仕様書無しさん [sage] 2018/04/16(月) 20:03:20.01

> いや、リファクタリングで総工数が減るなら勝手にやればいいだけじゃね?

俺はやってるよ。リファクタリングで工数減るから
そもそも修正作業の中に自動的に組み込まれるものだから
あえて "リファクタリング単体で" 工数を取るなんてことはしない

だからリファクタリングのために工数くださいっていう発想が
そもそも間違ってるわけ。修正に伴う追加作業じゃない。
修正作業そのものなんだから
仕様書無しさん [sage] 2018/04/16(月) 20:08:32.88
仕組みが悪いからって正常に動いてる箇所まで手を入れるってねーな
仕様書無しさん [sage] 2018/04/16(月) 20:37:02.97
リファクタ自体は否定しないが、>>1は確実に技術に溺れて盲信してるアホだから許可出さない
仕様書無しさん [sage] 2018/04/16(月) 21:02:09.30

正常に動いていると証明するテストをしてないってこと?

正常に動いていることを証明するテストを修正後にもやれば、
正常に動くと証明できるでしょう?
仕様書無しさん [sage] 2018/04/16(月) 21:03:03.43

修正許可与えてるなら、どんな修正をしたとしても
許されるはずだけど?
仕様書無しさん [sage] 2018/04/16(月) 21:22:15.99

修正が発生したときにしかリファクタしないの?
仕様書無しさん [sage] 2018/04/16(月) 21:24:48.73
修正ってなんだよ、バグってんのか
機能追加だろうがなんでも修正って言う奴は素人でしょ
仕様書無しさん [] 2018/04/16(月) 21:26:39.53
ただのレッテル張りじゃねえかw
仕様書無しさん [] 2018/04/16(月) 21:27:14.47
素人というやつは童貞だ
イカ臭いプログラム書いてろ
と言ってるようなもの
仕様書無しさん [sage] 2018/04/16(月) 21:30:14.08

なんどもリファクタリングは修正の一部だって言ってるじゃん
一部ってことはそれ以外も有るってことだよ

複雑なコードを読み解いて、リファクタリングしないで複雑なまま修正するのと
複雑なコードを読み解いて、リファクタリングしてから修正するのと
どっちがリスクが少ないかって話だ

前者だと、複雑なコードを読み解いた人(修正担当者)がいるにもかかわらず
別の人が、また大変な思いをして読み解いてレビューしなければいけない
そして、次同じところを修正する時、また複雑なコード読み解かなければいけない
仕様書無しさん [sage] 2018/04/16(月) 21:32:16.33
みんな実装するだけで精一杯なんよ
仕様書無しさん [sage] 2018/04/16(月) 21:33:31.81
リファクタリングは神の領域に達するものにのみ許される技。
素人はおとなしくExcel方眼紙でセル結合の練習でもしておけ。
仕様書無しさん [sage] 2018/04/16(月) 21:36:56.37

そんな入門書の1章に書いてあるような話はいいよ、面白くないから
仕様書無しさん [sage] 2018/04/16(月) 21:45:07.82

入門未満の人がいるんでね
仕様書無しさん [sage] 2018/04/16(月) 21:48:55.54
入門レベルの奴でも上から目線になれるから張り切ってんのか
仕様書無しさん [sage] 2018/04/16(月) 21:54:14.63
だからにはやらせない
仕様書無しさん [sage] 2018/04/16(月) 21:58:29.27

テストの品質が後工程に無関係ならな。
まあそんな現場が多いのは事実だが。
仕様書無しさん [sage] 2018/04/16(月) 22:14:39.29

リファクタリングするときのレビューとかどうしてる?
設計レビューもだし、コードレビューもだけど
仕様書無しさん [sage] 2018/04/16(月) 22:21:54.62
リファクタリングしてるのでNG
KAC [sage] 2018/04/16(月) 22:42:11.58

お前さん、理想通りに開発が進めば
自動試験だけで完璧なものができるとか信じてる?
仕様書無しさん [sage] 2018/04/16(月) 23:48:14.82
テストしづらいとか、クラスが肥大化しすぎて開発に支障があるとかならまだしも
見通しが悪いなんて理由でうごいてるもんをほいほい変えていいもんじゃろか
仕様書無しさん [sage] 2018/04/17(火) 01:28:22.88
リファクタリングは超プロの領域
このスレには本当のリファクタリングが出来る奴はいない

elseなしに書き換えるのが精一杯のFラン説教野郎みたいなのがいるだけ
仕様書無しさん [sage] 2018/04/17(火) 01:37:33.43
大規模リファクタリングの秘孔をついた
お前のプロジェクトはもう死んでいる
仕様書無しさん [sage] 2018/04/17(火) 02:47:02.14

> リファクタリングするときのレビューとかどうしてる?
リファクタリングではないときはどうしてる?
それと同じなんだが。

まあそういう質問するってことはリファクタリングに限らず
そもそも設計もコードもレビューしてないってことなんだろうけど
まずはそこからやねw
仕様書無しさん [sage] 2018/04/17(火) 02:49:20.05

> 自動試験だけで完璧なものができるとか信じてる?

だからレビューするんでしょ?

自動試験はバグがないことを証明する手段
その手段が正しいかどうかはレビューでみる。

人手でレビューして、テストした内容も記録されて
後なにがあれば完璧なものができると思います?
仕様書無しさん [sage] 2018/04/17(火) 02:51:40.76

> テストしづらいとか、クラスが肥大化しすぎて開発に支障があるとかならまだしも
> 見通しが悪いなんて理由でうごいてるもんをほいほい変えていいもんじゃろか

機能追加とか修正するという前提なんだから、どちらにしろ変更するしかないでしょw
KAC [sage] 2018/04/17(火) 08:07:55.30

自動試験してレビュー通ったらシステムインしてサービス開始すんの?
仕様書無しさん [sage] 2018/04/17(火) 08:35:24.00
入門書第1章に書いてあることの受け売りなら長文で語るけど、具体的な話からは煽りで逃げるし、
体験から語ってると思えるような発言もないし、こいつ多分そんなにノウハウないよ
仕様書無しさん [sage] 2018/04/17(火) 10:12:11.71

レビューもするし自動以外のテストもする
そこは普通の機能変更のときとなにも変わらない

ただその時のやり方が、複雑なコードを頑張って解析して
無理やりパッチを当てるような、あとから見た時に
なんでこんな面倒なことしてんの?と思われるような変更をするやり方から、

次回は複雑なコードを読まなくて良いように、複雑なコードを
シンプルに修正しつつ、まるで0からコードを書いた時のように
こういう機能を実現するなら、普通こう書くよねという
当たり前の形にするやり方に変わるだけ

変更するたびに複雑になっていくやり方をやめて
変更しても複雑にならない、むしろシンプルになるような
やり方をしましょうってこと

その後にやるテストうんぬんは、もともと機能変更でやる予定だったんだろ?
なら最初からやるって決まってることじゃないか
仕様書無しさん [sage] 2018/04/17(火) 10:12:38.07

> 具体的な話からは煽りで逃げるし、
ん? どのレス?
仕様書無しさん [sage] 2018/04/17(火) 10:13:52.53
レビューってさ
もう儀式になってない?
仕様書無しさん [sage] 2018/04/17(火) 10:16:36.37
TDDってさ
組織的にガチガチにやるもんじゃなくて
設計者の間で守るべき密やかな秘密程度で
やったほうが良い気がすんのね。
仕様書無しさん [sage] 2018/04/17(火) 11:00:00.11

それはどんなコード変更のときでもやるべきことだから
リファクタリングの話とは関係ないという注意だけしておくね
仕様書無しさん [sage] 2018/04/17(火) 11:05:57.21

ようは、リファクタリング前に存在するテストコードが
リファクタリング後でも通ることで動きを変えてないことが
証明できれば良いのでTDDである必要はないよ。

具体的にはgit使えば歴史変えられるんで、
コード変更しつつテストコード書いて、
コード変更とテストコードでコミット分けて
あとでrebaseしてテストコードのコミットをコード変更の
コミットより前に持ってくれば良い
仕様書無しさん [sage] 2018/04/17(火) 12:12:26.72

TDDは保護するためのテストじゃないから
仕様書無しさん [sage] 2018/04/17(火) 12:23:08.56

レビューのつもりで儀式やってるだけのところが多いね。
仕様書無しさん [sage] 2018/04/17(火) 12:26:04.15

> TDDは保護するためのテストじゃないから

TDDはテストではなく開発手法ですよ?

TDDという開発手法ではリファクタリングの前にテストを書き
書いたテストが、その後に行うリファクタリングが問題ないことを証明するんですよ

つまり
× TDD = 保護するためのテスト
○ TDD =「保護するためのテスト」を用いた開発手法

(あんたの言った「保護」がリファクタリングで壊さないように守るという意味である前提)

俺がで言ったことは、TDDでやらなくてもテストで保護できると言ったんです。

ttps://postd.cc/test-driven-development/

> 簡単に言うと、TDDは機能を記述する前に自動テストを書く行為です。
> 例えば、Bobが素晴らしい新たなソーシャルネットワークのアイデアの
> ために新しい機能を開発する必要があるとしましょう。
>
> Bobは自動テストを書くことから始めますが、機能を正しく実装せずに、
> テストを失敗(赤色表示)させます。次に、Bobはテストを成功(緑色表示)
> させるための最小限のコードを記述します。緑色表示になったら、
> Bobはコードをきれいにし、テストを実行して機能が正しく
> 実装されたままであることを確認します(コードのリファクタリング)。
> 重複することなく、コードと自動テストは他の人も簡単に保守できます。
KAC [sage] 2018/04/17(火) 13:27:11.82

えーと、まずはスレタイの
「リファクタリングすると全部テスト」については、
「全部テストするのは当たり前」という理解でOK?

それなら、大筋では意見に違いは無い。
仕様書無しさん [sage] 2018/04/17(火) 13:49:22.47


before(リファクタリングしない場合)
 1. 機能追加やバグ修正などの変更依頼が来る
 2. 変更する
 3. 変更したので全部テストをする

after(リファクタリングする場合)
 1. 機能追加やバグ修正などの変更依頼が来る
 2. 変更する(リファクタリングもする)
 3. 変更したので全部テストをする


afterに対して、余計なことするな!
リファクタリングしたなら全部テストしろ!
と言われましても、beforeでも全部テストしてますよね?という話です。
仕様書無しさん [sage] 2018/04/17(火) 15:18:23.57
リファクタリングしたら(その時点で、機能改修する前に)(単体)テストしろって要求なんじゃね?

まあ普通やるけど。
仕様書無しさん [sage] 2018/04/17(火) 15:55:33.65

いやぁ、違うなぁ
リファクタリングさせないための方便として使ってるので
お前がリファクタリングするとテストする人が迷惑するんだぞ
だから余計なことするなという意味だろう。

だがもともとテストするわけで矛盾になるんだよな
仕様書無しさん [sage] 2018/04/17(火) 16:16:34.63

そういうことじゃないんだよなぁ
仕様書無しさん [sage] 2018/04/17(火) 16:19:52.69

違うよ
デグレしたときの徹底的なイジメがヤバイ
仕様書無しさん [sage] 2018/04/17(火) 16:59:00.97

じゃあどういうことか書けよw


でもどっちみちコード変更するんでしょ?
リファクタリングしない方がデグレさせる可能性高いし
仕様書無しさん [sage] 2018/04/17(火) 17:34:58.09
リリースしたらあとはそのシステムのことは知らん
だからリファクタリングする気もない
仕様書無しさん [sage] 2018/04/17(火) 18:30:58.65

いやリファクタリングすると触らなくていいとこまで変更するじゃん
既存コードを変更するって時点でまずい
仕様書無しさん [sage] 2018/04/17(火) 18:52:07.21

触らなくていいかどうかが重要なんですか?

重要なのはテストする所かどうかでしょう?
触った所でテストするなら、なにも問題ないはずですが?
仕様書無しさん [sage] 2018/04/17(火) 18:54:58.04

そうはいかねぇだろ
文章化されてないけど
クリアしてるいろんな仕様があんだからよ
長い間運用してるとそういうのあるわけよ
仕様書無しさん [sage] 2018/04/17(火) 19:09:26.69

触らなければテストもしなくていい
プロは余計なコードも書かないし、余計なテストもしない
KAC [sage] 2018/04/17(火) 19:26:39.52

イメージはあってそう(スレ建てた奴とは違う意見)に読めたので、
具体的な内容を書いてみる。

大規模で難解なプロジェクトの一部機能で、
一カ所の編集バッファの数が足りず、
長い氏名の編集に失敗する仕様となっていた。
メモリの使用率なども調査済みで、編集文字数を増やすという仕様変更案件の場合。

バッファサイズを増やして関連箇所の試験して完了。

リファクタリングしたら、統べての試験をやり直し。

リファクタリングの有無でどちらが安いのか、
時と場合によるって認識はあってる?
仕様書無しさん [sage] 2018/04/17(火) 20:51:10.01
WFとアジャイルとでも違うし
リファクタリングできる設計になってるの?
も大きな要素だが

動いているなら弄るなよは永遠の真理
仕様書無しさん [sage] 2018/04/17(火) 21:08:17.92

そのレベルの現場が多いもんな。
仕様書無しさん [sage] 2018/04/17(火) 22:21:50.39
バッファサイズの変更でなにをリファクタするというんだ

文字編集がややこしいから途中量の計算が難しいから処理変更とか?
仕様書無しさん [sage] 2018/04/17(火) 23:28:38.99


リファクタリングの話は一旦おいておきましょう。


> そうはいかねぇだろ
> 文章化されてないけど
> クリアしてるいろんな仕様があんだからよ

それでどうやってコードを正しく変更できるんですか?
コードを変更する時に文書化されてない仕様を
間違って変えてしまうことがありますよね?

文書化されてない仕様をテストでどうやって
見つけるんですか?
仕様書無しさん [sage] 2018/04/17(火) 23:36:25.31


> バッファサイズを増やして関連箇所の試験して完了。
>
> リファクタリングしたら、統べての試験をやり直し。

え?なんで?先に修正して試験するのがいけないんじゃん


1. リファクタリングをする
2. バッファサイズを増やす
3. 関連箇所の試験して完了

基本はこうですよ?
実際にはこんな大雑把作業じゃなくもう少し細かく
(ユニットテストと)リファクタリングと修正を何回か繰り返しますが

コードの変更とリファクタリングは切り離せません

コードの変更とリファクタリングの間に「関連箇所の試験して完了」
なんてものは入らないし入れたらダメです。
仕様書無しさん [sage] 2018/04/17(火) 23:41:10.11
ちゃんと設計できてないから改修する度にいちいち事前のリファクタリングが必要になるんだろうな
仕様書無しさん [sage] 2018/04/17(火) 23:41:50.05

まさにそのスレでその話してるんだからおいとくなよ…

現に存在するものに文句言ったってしょうがないだろ
あるんだから
非機能要件のないソフトなんてない

改修部分が少なければ少ないほど踏んじゃうリスクは減るだろう
仕様書無しさん [sage] 2018/04/17(火) 23:48:58.45
> ちゃんと設計できてないから改修する度にいちいち事前のリファクタリングが必要になるんだろうな

そりゃリファクタリングの必要がない場合にはリファクタリングしませんよw

前提として、リファクタリングの必要があるコードだって
ちゃんと書きましょうか? そうすればもっとわかりやすくなりますね。

・リファクタリングをしない場合
1. ちゃんとした設計になっていない
2. そのままで無理やりバッファサイズを増やす
3. やってることが意味不明。変更に自信が持てない。コードレビューも大変。
4. 変更で問題が出やすい。そのたびに意味不明なコードと格闘する。
5. 関連箇所の試験して完了。


・リファクタリングをする場合
1. ちゃんとした設計になっていない
2. 設計を修正する(リファクタリング)
3. ちゃんとした設計に自然な形でバッファサイズを増やす
4. やってることが明確。変更に自信が持てる。コードレビューも簡単。
5. 変更に問題が出にくい。仮に出たとしてもちゃんとした設計になってるのですぐに修正できる
6. 関連箇所の試験して完了。

リファクタリングしたことで1工程増えたように見えますが、
ちゃんとした設計になってないものを無理やり修正した複雑なコードは
バグが出やすく、修正も大変になって時間がかかります。
それはわかるでしょう?
仕様書無しさん [sage] 2018/04/17(火) 23:50:34.78

> 改修部分が少なければ少ないほど踏んじゃうリスクは減るだろう

改修部分をリファクタリングするんだから、
改修部分の量は同じですが?
仕様書無しさん [sage] 2018/04/17(火) 23:55:28.57

具体的なイメージがわからない

本当に改修部分だけ改修だったらリファクタ部分消えちゃうじゃない
それってただの改修では
仕様書無しさん [sage] 2018/04/18(水) 00:26:44.21

ちょっとなにかいいサンプルないか探したんだが
見つからなかったので、軽く例を書くわ


ある関数を改修部分することになった。これが100行を超える複雑なコード。
これをリファクタリングすると10行にできるとする
(ライブラリ使用の有無とかで、これぐらいざらにあるからw)

リファクタリングしない場合は無駄なコードで処理が入り組んでおり
入り組んだコードを時間をかけて頑張って解析し
そのまま修正するとなると数箇所を変更しなければいけなくなることが判明した
だが本当にその数箇所の変更で問題ないのか? コードが複雑なのでよくわからない
レビュー依頼した所で時間をかけて解析したものを他の人がすぐに分かるはずもない
多くの時間を費やすることになった。

リファクタリングして10行にまで減らすと、コードはシンプルになりなにやってるのか一目瞭然になった。
テストコードがあるのでリファクタリングの前後でコードが壊れてないことはわかる。
リファクタリングしたため修正箇所もたったの一行になった。
他の人も何の修正をしたのかすぐに分かる
仕様書無しさん [] 2018/04/18(水) 01:15:38.23

おまいのレスが長すぎてリファクタリングしないと読めない
仕様書無しさん [sage] 2018/04/18(水) 01:33:21.47

バイバイ
仕様書無しさん [sage] 2018/04/18(水) 01:43:53.78

リファクタリングの必要性をそこまで感じないってことは、俺の設計ってちゃんとしてるんだろうなぁ
仕様書無しさん [sage] 2018/04/18(水) 02:00:52.61

あと仕様変更がないってことだろうね。

仕様変更があれば、少なからず設計を変更することになるから
仕様書無しさん [sage] 2018/04/18(水) 03:09:17.61

OCPができてないから仕様の変更がいろんなところに波及するんだよ
あとから直せばいいやじゃなくて、もう少し基本を身に付けよう
仕様書無しさん [sage] 2018/04/18(水) 03:41:28.10

最初から何でも考慮した過剰な設計は止めましょう
こっちが基本ですよ?w
仕様書無しさん [sage] 2018/04/18(水) 07:33:52.26
言語からスクリプト言語が呼べるようにしておけば汎用性は無限
バグも無限
仕様書無しさん [sage] 2018/04/18(水) 07:50:27.25

リファクタの状況的にはありだけど

それって関数全体に手が入ってるわけだから改修量同じじゃないじゃん
テストで検出できない非機能要件を踏んじゃうリスクは明らかに増えてるよね?
仕様書無しさん [sage] 2018/04/18(水) 10:52:23.05
数年経ってもリファクタバカは相変わらずだなw
未だに賛同者が現れないwwww
しかも、リファクタリングそのものではなく、リファクタバカに対する非賛同が増殖w

かたやリファクタすら許してもらえない信用と立場のリファクタバカが相変わらずの状態
かたや5年以上で完全に新規で作り直しの許可を与えられるようになった俺

技術書に溺れなくてよかった・・・。
KAC [sage] 2018/04/18(水) 12:55:46.41

あぁ、そういう事か。
「リファクタリング」という範囲のイメージが合ってなかったんだな。

関数単位のリファクタリングならそのイメージでだいたい合ってる。

「外部インタフェース変えずに内部の設計から見直す」事を前提に話してたよ。


それはそうとして、
関数の処理削減などで処理速度が変わったのなら、同期など含めてその観点での試験はちゃんとやれよ?
仕様書無しさん [sage] 2018/04/18(水) 18:26:19.09

意味がわからない
お前、どっち派?
仕様書無しさん [sage] 2018/04/18(水) 19:52:23.21
関数レベルのリファクタリングしか語れないレベルだということはお察し
仕様書無しさん [sage] 2018/04/18(水) 21:09:41.94
おれは何も察することができんのだが
仕様書無しさん [sage] 2018/04/18(水) 22:40:51.02

> それって関数全体に手が入ってるわけだから改修量同じじゃないじゃん
> テストで検出できない非機能要件を踏んじゃうリスクは明らかに増えてるよね?

関数の中の1行を変えたとして、
その1行だけをテストして関数全体OKってできるんですか?

そもそも関数の中の1行だけをテストすることは不可能だと思います。

結局関数全体をテストするわけでしょう?
仕様書無しさん [sage] 2018/04/18(水) 22:42:05.86

> 関数の処理削減などで処理速度が変わったのなら、同期など含めてその観点での試験はちゃんとやれよ?

もともと修正すべき関数なんだから、リファクタリングしなくても
テスト必須でしょう? なにを言ってるんでしょうか
仕様書無しさん [sage] 2018/04/18(水) 22:50:36.63

でもさ
ソースで見たとき処理の下の方をちょっと修正すればいいところで
上の方の関係なさ気な箇所がバグったら言い訳できねぇよ
差分見て

何でここ弄ったの?今回の修正と関係ないじゃん

って言われたらちょっと嫌な空気流れるよ
仕様書無しさん [sage] 2018/04/18(水) 22:52:17.90

> それって関数全体に手が入ってるわけだから改修量同じじゃないじゃん
「可読性」って言葉ご存知ですか?

「可読性」の二番目の文字は「読」です。
「書」ではないのです。

改修は「書く」ことですが、改修前には「読む」こと必須です。
では書く時間と読む時間、どちらが多くかかりますか?

もちろん読む方ですよね?
タイピングなんて1分間に200〜300なんて軽く行く

改修の書く量だけを見ても正解にはたどり着けませんよ。
改修量ではなく作業始めてからの改修時間を見るのが筋じゃないですかね?

リファクタリングは改修時間を短くします。
仕様書無しさん [sage] 2018/04/18(水) 22:53:03.68

関係ない所を修正するのがいけないのでは?w
仕様書無しさん [sage] 2018/04/18(水) 22:58:24.94

具体的なシナリオをいうとだ

日付をこりこり自前でデコードして値つくってる100行近いまぬけコードを
Javaのライブラリつかって数行にしてホルホルしてたら
ついうっかり見たことないようなフォーマットも受け入れちゃうようになってて
そんなん存在もわかんないからテストしてるわけなくて
でもユーザーは何の気なしに入れちゃうと入るからそのまま入れて、想定と異なるへんなデータが蓄積していって
集計バッチの演算とかにちょっとづつ毒虫のように影響を与え続けて
気が付いたらえらいことになってたりとか
仕様書無しさん [sage] 2018/04/18(水) 23:00:32.39

理解できたらもとに戻してもいいのよ?
KAC [sage] 2018/04/18(水) 23:03:03.55

修正内容に応じてテスト観点増やさないの?
費用対効果考えながらテスト計画立てないと破綻するぞ?
仕様書無しさん [sage] 2018/04/18(水) 23:04:52.45

それはリファクタリングしなくても起こる話ですね。

何度も言うように、そこが修正箇所です。
リファクタリングしなかったとしても修正する場所です。

修正して、ついうっかり見たことないようなフォーマットも受け入れちゃうようになってて
そんなん存在もわかんないからテストしてるわけなくて
でもユーザーは何の気なしに入れちゃうと入るからそのまま入れて、想定と異なるへんなデータが蓄積していって
リファクタリングと何の関係もない話ですよね


> 理解できたらもとに戻してもいいのよ?
次修正する時、また改修時間(読む時間)がかかりますよね?
仕様書無しさん [sage] 2018/04/18(水) 23:06:20.06

もとに戻すと改修時間(読む時間)が無駄になるだけですね。
次回修正するときも、また改修時間がかかります。

バグが見つかったら、また改修時間がかかります。
仕様書無しさん [sage] 2018/04/18(水) 23:07:43.72

> 修正内容に応じてテスト観点増やさないの?

少ししか修正してないから、テスト減らしていいとでも?

変更したコードの量は少しでも、その影響範囲は
修正の量とは無関係です。

どれくらい影響があるか、それはコードが複雑であれば
有るほど不明です。
KAC [sage] 2018/04/18(水) 23:17:24.91

テスト計画建てたこと無いの?
「全ての条件を網羅したらバグは無くなる」
は真だけど、それができないからみんな工夫してるんだよ。

バグのないものは存在しない

なんてのは、この業界の常識。
仕様書無しさん [sage] 2018/04/18(水) 23:22:51.13

リファクタだけの問題じゃないが、リファクタも修正のうち
修正する以上人間がやらかすリスクはある

だったら修正は極力限定されているほうがいいだろ


>次修正する時、また改修時間(読む時間)がかかりますよね?
そしてリファクタ最大の問題
コードの読みやすさや理解しやすさは人の主観に大きく依存する

else取っ払ってタプル戻り値の関数に変えようとするやつもいるんだぞ

リファクタ後に修正したほうがテスト工数が削減できるとか、規約が新たにできたから合わせるとか
なにかしら明白な理由がないと
仕様書無しさん [sage] 2018/04/18(水) 23:23:52.53
あとどうもやっぱりリファクタリングを
単なるコードの修正の意味で使ってるように見えるんだよねw

リファクタリングは、コードの修正、コードを綺麗にするを
英語にした言葉じゃないよ?

リファクタリングっていうのはやり方が決まってる。
スタート(修正前)とゴール(修正後)は自分で決めるけど
スタートからゴールへ至る道へは、決まったやり方を使って修正する
その決まったやり方っていうのは、動きを変えないための方法

数学の等式の変形みたいなもんだ
x - 2 = 8 を「移行」して
x = 8 + 2 に変形しても意味は変わらない

こういう「移行」みたいに変形しても意味が変わらないやり方に
ご丁寧に名前までつけてカタログ化されてる。

テスト書いて決められたやり方で式を変形するんだから
無計画なコードの修正なんかよりもずっと安全に変形できる
仕様書無しさん [sage] 2018/04/18(水) 23:24:38.02

いや、だから、一行の変更なら
テスト減らせるってわけじゃないよって言ってるんだが?
仕様書無しさん [sage] 2018/04/18(水) 23:25:40.46

> コードの読みやすさや理解しやすさは人の主観に大きく依存する

じゃあ主観に依存しないものを採用すればいいだけでは?

コードメトリクスを計測せよ
仕様書無しさん [sage] 2018/04/18(水) 23:27:30.62

そうだね
リスクはひくいよ
Eclipseのリファクタ機能使うならなおさらだ

それでもたまにやらかすだろ!
仕様書無しさん [sage] 2018/04/18(水) 23:29:05.35

メトリクスのどれ見んの?
仕様書無しさん [sage] 2018/04/18(水) 23:33:22.64

> それでもたまにやらかすだろ!

複雑なコードをそのまま修正するほうが
やらかします。

その場合、いくら修正してもバグはなおらないし
直したそばから別のバグが発生するし、
時間もかかるしで、良いことはまったくありません。

重要なのは改修量ではなく改修時間な
仕様書無しさん [sage] 2018/04/18(水) 23:34:59.93
マーチン本に書いてある手続きいちいち守ってたら日が暮れる
現実的には既存のユニットテストのコードを信用して
手続きを頭に置きつつ直観でつくり変えていくことになる
そんで流して結果変わってなきゃOKと

理想が定義されているからといって現実に耐えうるかというと
仕様書無しさん [sage] 2018/04/18(水) 23:36:04.44

基本的にメトリクス測定ツールは、基準値超えたら
アラート出してくれるはずだからそれに従えばいいと思うけど、
俺はCyclomatic複雑度を重視するね。
仕様書無しさん [sage] 2018/04/18(水) 23:51:21.89

改修による単体工数の削減はあるかもしらんが

時間重視ならなおのことリファクタやってるひまなんかないだろ
あれほどの時間泥棒もない

よく考えたら書くほうが早いっつったって
結局その前に理解しないと書き直せないんだから一緒じゃねーか!
だまされるとこだった
仕様書無しさん [sage] 2018/04/18(水) 23:59:21.26
> よく考えたら書くほうが早いっつったって
> 結局その前に理解しないと書き直せないんだから一緒じゃねーか!

だから、たった一行の修正とか言っても、
その修正にかかる時間は、理解する時間が大半を占めるんだから
リファクタリングしても大差ないって話だよ。

大差ないどころか、複雑なものを複雑なまま、頭の中で理解するほうが
時間かかると思うがね


そして理解した結果をコードに反映させないで、レビューにかかる時間
次に修正する時間、バグ出た時に読み返す時間を費やするか
コードに反映させて、その後にある時間を減らすかどうか
仕様書無しさん [sage] 2018/04/19(木) 00:04:04.23

で?結局リファクタやると具体的に何がいいんだっけ?
色々話してるとメリットが全く見えなくなっちゃう
仕様書無しさん [sage] 2018/04/19(木) 00:04:52.59

思うのは勝手だが最初にしてた変更リスクの話を忘れてないか
仕様書無しさん [sage] 2018/04/19(木) 00:22:17.21

> で?結局リファクタやると具体的に何がいいんだっけ?

まず改修時間はさほど変わらない。
変更リスクもどちらにしろテストする場所なので変わらないし
行数が少ないほうが影響範囲が小さいってこともない

リファクタリングでバグ入れそうなコードは
リファクタリングしなかったらもっとバグを入れやすい

そして、レビューやバグがあったときの読み返し時間の削減
修正内容に自信が持てる。今後の修正の時の改修時間の減少
仕様書無しさん [sage] 2018/04/19(木) 00:24:02.42

いや全然わからない
普通に改修する場合と比べて何がいいの?
仕様書無しさん [sage] 2018/04/19(木) 00:25:04.88
1行の修正でこんなにお金がかかるんですか!
っていう顧客の声がまんまリファクタリングしない場合にあてはまるな

1行の修正だからリスクが少ないとお考えか!?

1行の修正でもお金がかかるってことは、1行だからって
なにかを減らせるわけじゃないんですよ。
仕様書無しさん [sage] 2018/04/19(木) 00:28:14.81

そこで普通に改修っていうのは
リファクタリングをしないってこと

リファクタリングが「理解や修正が簡単になるように、内部構造を改善すること」
なのだからリファクタリングしないってこうのは
理解や修正が簡単になるように改善をしないってこと

元からすでに改善済みのものをリファクタリングしろとは言ってない
理解や修正が難しいコードであることは大前提


で「普通に改修」というのは改善なしに複雑なまま修正ということになるのだから
で言ったようなメリットが有る

複雑なものをそのままにして手を入れたら
もっと複雑になるよ。
仕様書無しさん [sage] 2018/04/19(木) 00:34:51.32
複雑なコードは壊すのがこわいからリファクタできない
簡単なコードは意味がないからリファクタできない
仕様書無しさん [sage] 2018/04/19(木) 00:37:19.05

重要なのは手遅れになる前にこまめにやることだよね

大規模リファクタリングなんてのはあってはだめ
リファクタリングだけのための作業なんて持っての他

そうやって手遅れにするから、リファクタリングのための
工数なんて取れるかーみたいな話になる

リファクタリングは、機能追加や変更に伴う作業に
含まれているべきものですよ
仕様書無しさん [sage] 2018/04/19(木) 02:08:38.73

今どきリファクタリングするのは機能追加や変更のタイミングに限らないよ
DDDやってる?機能の変更がなくても、業務にモデルを合わせるために日々リファクタリングするのが常識
仕様書無しさん [sage] 2018/04/19(木) 02:28:05.80
こんな事が書いてあるのかw

ttp://hideoku.hatenablog.jp/entry/2013/03/07/223727

変更を完全に正当化できるまで待つのは、待ちすぎというものである。
プロジェクトはすでに重いコストを負っていて、先延ばしにすると変更するのがより
困難になる。対象となるコードには今より手が入り、さらに多くの他のコードに組み込まれることになるからだ。

継続的なリファクタリングは「ベストプラクティス」と考えられるようになってきたが、
ほとんどのプロジェクトチームは依然として慎重すぎる。コードを変更するリスクと、変更にかかる開発者の時間のコストを見込んでいるためだ。

しかし、それほど簡単に見抜けないのが、設計をぎこちないままにしておくリスクと、
その設計を何とかするためのコストである。

リファクタリングを行いたい開発者は、その決定が正統なものであると証明するよう求められることが多い。
こうした要求は理にかなっているように見えるが、もともと難しいものを不可能なほど難しくして、
リファクタリングを抑制する(または見えない所で行わせる)傾向がある。

ソフトウェア開発は、変更することで得られる利益や変更しないことで生じるコストを
正確に割り出せるような、予測可能なプロセスではない。
仕様書無しさん [] 2018/04/19(木) 07:16:17.90
リファクタリングがだめなのではなく
おまえらがやるからだめなのだ
仕様書無しさん [sage] 2018/04/19(木) 07:34:45.44

駄目コード(ウィルスみたいなもん)をばら撒いてから治療なんて無理だからねえ。
仕様書無しさん [sage] 2018/04/19(木) 08:13:02.34
結局は客がデグレを笑って許してくれるかどうかな気がしてきた
仕様書無しさん [sage] 2018/04/19(木) 09:20:08.21
でかくてモノリシックなシステムを複数のマイクロサービスにリファクタリングしたけど、
デグレなんて起きなかったな
仕様書無しさん [sage] 2018/04/19(木) 09:40:04.23

だからデグレは複雑なコードのまま変更するほうが
リスク高いんですってばw
仕様書無しさん [sage] 2018/04/19(木) 09:44:31.35

リファクタリングは処理の内容を変えないで
コードをわかりやすく再配置するだけだから
デグレのリクスはすごく低いんだよね


リファクタリングがだめなのではなく
闇雲に修正するのがだめなのだ
仕様書無しさん [sage] 2018/04/19(木) 10:41:14.32

> リファクタリングは処理の内容を変えないで
> コードをわかりやすく再配置するだけだから

外側は変えないけど内容は変えますよ
なに言ってるんですか
KAC [sage] 2018/04/19(木) 15:09:42.31

難解なコードを読み解いて修正前に正しく把握するのは難しいという主張?
仕様書無しさん [sage] 2018/04/19(木) 16:40:47.18
リファクタ厨はその時々でリファクタリングの定義を変えるので話にならない
正反対のことを平気でメリットとして主張してくる
仕様書無しさん [sage] 2018/04/19(木) 20:32:34.99

わからないことや見えないことを逆に肯定理由にする
宗教家と同じ手口だな!
仕様書無しさん [sage] 2018/04/19(木) 21:36:48.00
ある程度経過したコードは捨てろ。
リファクタなんぞせず。

さらにある程度経過したシステムは捨てろ。
リファクタなんぞせず。
仕様書無しさん [sage] 2018/04/19(木) 21:39:51.72

実装は変えるけど、処理の内容は変えませんよw
処理の内容っていうのは、1から1000までの数を足すとかいうことです。

forループを使うとか、計算式を使うっていうのは
実装であって処理の内容じゃありません
仕様書無しさん [sage] 2018/04/19(木) 21:40:23.43

> 難解なコードを読み解いて修正前に正しく把握するのは難しいという主張?

違う。時間がかかるという主張
仕様書無しさん [sage] 2018/04/19(木) 21:45:12.79
コーダーの時間が現実のリスクとのトレードオフに値するだろうか?
KAC [sage] 2018/04/19(木) 21:49:39.33

解読せずにリファクタリングすると酷いことになるだけだぞ?
仕様書無しさん [sage] 2018/04/19(木) 21:52:17.10

どのように実装するかというのが処理の内容だから
リファクタリングで変更しないのは外部仕様な
内側は変えていいんですよ
仕様書無しさん [sage] 2018/04/19(木) 21:56:06.09
改修のためのリファクタリングって15年前ぐらいの考え方
今さら熱く語るようなトピックでもない
仕様書無しさん [sage] 2018/04/19(木) 21:57:46.81

> 解読せずにリファクタリングすると酷いことになるだけだぞ?

リファクタリングする時に解読しないなんて誰が言ったの?

そもそも解読が必要になってるのはリファクタリングしてなかったからなんだが、
まあそんなこと言ってもしょうがない。過去の話だ。

今手元にあるのは解読が必要なほど複雑なコード
リファクタリングをしないということは、複雑なコードをそのままに
さらに複雑にする行為。それをレビューしてもらったって、できるわけがない。
なにせ解読が必要なほど複雑なコードなんだから、

そして、せっかく時間を書けて解読しても、その解読をコードに反映させないなら
次回修正する時にまた時間がかかる。そして次回修正はそんなに先のことじゃないかもしれない
なぜなら複雑なコードをさらに複雑にしたのだから、デグレのリスクも高い


せっかく時間かけて解読したのだから、それをコードに反映(リファクタリング)させましょう。
読むのは時間かかるが、書くのは大して時間はかからない。
そうすれば、リファクタリングしなかった場合の時間がかかるという問題が解決できる。

何回も同じこと言ってるんだけどなw
仕様書無しさん [sage] 2018/04/19(木) 22:01:18.70
あと解読するときも、最初から最後まで想像して解読するよりも
簡単なところから一歩ずつやったほうがいいよ
仕様書無しさん [sage] 2018/04/19(木) 22:06:50.19

リファクタ病患者の闘病のために必要
仕様書無しさん [sage] 2018/04/19(木) 22:07:26.56

君みたいに突っかかってるやつのためだよw
仕様書無しさん [sage] 2018/04/19(木) 22:11:04.54
まったり普通にまともなこと言っても誰も相手してくんないし
仕様書無しさん [sage] 2018/04/19(木) 22:23:27.27
本質的に複雑なものはどうやったって複雑なので、考えるべきは複雑さをどこに押し込めるかだ
複雑な処理もリファクタリングすればシンプルになると信じてる奴は、まあ本質的には簡単なことしかやってないんだろう
例えば、SQLがわからないユーザーのために、DBにUIを提供するだけのCRUDアプリとか
仕様書無しさん [sage] 2018/04/19(木) 22:25:12.05
関数レベルのリファクタリングじゃ抜本的な設計改善にはならないからなぁ
やらないよりはやった方がいいけど、まぁ趣味の話だな
仕様書無しさん [sage] 2018/04/19(木) 22:29:02.98


> 例えば、SQLがわからないユーザーのために、DBにUIを提供するだけのCRUDアプリとか

あんたは複雑なことをしたいのかもしれないけど
仕事なんだから客が求めるものを作るべきでは?

客は本質的に複雑なものばかり、求めてるんですか?
客が求めてるものは簡単なものばかりですよ。
仕様書無しさん [sage] 2018/04/19(木) 22:34:00.95

設計ってどこまで含んでいってる?
クラス設計は? どういうメソッドが有るとか
どういう階層をしているかとか
仕様書無しさん [sage] 2018/04/19(木) 22:36:08.75
データベース設計なら、まんまデータベースリファクタリングって
本があるけどもう売ってないな
仕様書無しさん [sage] 2018/04/19(木) 22:48:51.20

本質的に簡単なことって、頑張れば誰にでもできるじゃん?
実際、キャリアの少ない若手プログラマだって、先輩やらの手助けを受けつつもちゃんと動くコードを書いて納品してるわけで

たかだか数年の経験しかないプログラマにでもやれなくはない程度の仕事を、ああだこうだいって多少整理された状態に
持っていくのがお前の言うリファクタリングでしょ?
まぁ誰かがやらなきゃいけない仕事なんだろうけど、それって汚いコードを書く奴の尻拭い以上のものではないし、
ドヤって語るほどのもんでもないように思うけどなー
仕様書無しさん [sage] 2018/04/19(木) 23:02:09.88
改修後に予定されているテストでカバーできる範囲でリファクタするというのは
ひとつの答えのようにおもえる

あとはリファクタしたほうが本当にましになってるのかという問題
仕様書無しさん [sage] 2018/04/19(木) 23:05:48.73

> 本質的に簡単なことって、頑張れば誰にでもできるじゃん?

本質的に簡単なことって、頑張れば(=コストと時間をかければ)誰にでもできるよ?

でもそれじゃだめだよね
コストと時間がかかってるんだから
仕様書無しさん [sage] 2018/04/19(木) 23:05:50.09
リファクタじゃなくてリジェクト
仕様書無しさん [sage] 2018/04/19(木) 23:07:11.05
関係ないけど安定した共通化部分から
関数抽出して使いまわしたいんだけど
やっていいもんじゃろか?
仕様書無しさん [sage] 2018/04/19(木) 23:13:04.60

将棋でも自分の指した手がいい手かどうかわからない人いるよね。
初心者?上級者?

マシになってるかどうかわからない?
将棋で言えばどっちかな?


自分の指した手が良いかどうかわからないってことは
恥ずかしいことだと思ったほうが良い。


まあ、初心者なら仕方ないけど、そういう人は
コードメトリクスを計測したら良いよ。
客観的に良いか悪いかを判断してくれる。
仕様書無しさん [sage] 2018/04/19(木) 23:16:49.13

>自分の指した手が良いかどうかわからないってことは
>恥ずかしいことだと思ったほうが良い。

やっぱりやらないに越したことはないな!
仕様書無しさん [sage] 2018/04/19(木) 23:28:59.50

なんで?
そういう人はコード書いたらダメだって言ってるんだけど?
仕様書無しさん [sage] 2018/04/19(木) 23:30:15.83
料理が下手な人は料理をしないほうが良い
仕様書無しさん [sage] 2018/04/19(木) 23:33:30.35
人の問題なのか、技術の問題なのか
その区別ぐらいはできるだろうけどな

俺が運転すると事故るから
車はだめだみたいな。
KAC [sage] 2018/04/19(木) 23:44:08.24

改造するのは解読に時間がかかる
リファクタリングすると解読に時間がかかる

で、何がメリットだって主張?
仕様書無しさん [sage] 2018/04/19(木) 23:53:59.72

二行目が繋がってない、つまらんからやり直して。
仕様書無しさん [sage] 2018/04/20(金) 00:03:23.46

コピペしろって言ってる?

162 自分:仕様書無しさん[sage] 投稿日:2018/04/19(木) 21:57:46.81

> 解読せずにリファクタリングすると酷いことになるだけだぞ?

リファクタリングする時に解読しないなんて誰が言ったの?

そもそも解読が必要になってるのはリファクタリングしてなかったからなんだが、
まあそんなこと言ってもしょうがない。過去の話だ。

今手元にあるのは解読が必要なほど複雑なコード
リファクタリングをしないということは、複雑なコードをそのままに
さらに複雑にする行為。それをレビューしてもらったって、できるわけがない。
なにせ解読が必要なほど複雑なコードなんだから、

そして、せっかく時間を書けて解読しても、その解読をコードに反映させないなら
次回修正する時にまた時間がかかる。そして次回修正はそんなに先のことじゃないかもしれない
なぜなら複雑なコードをさらに複雑にしたのだから、デグレのリスクも高い


せっかく時間かけて解読したのだから、それをコードに反映(リファクタリング)させましょう。
読むのは時間かかるが、書くのは大して時間はかからない。
そうすれば、リファクタリングしなかった場合の時間がかかるという問題が解決できる。

何回も同じこと言ってるんだけどなw
仕様書無しさん [sage] 2018/04/20(金) 02:23:37.72

冗長な文章だな
KAC [sage] 2018/04/20(金) 07:25:56.11

リファクタリングに時間がかかるって主張だよな?
仕様書無しさん [sage] 2018/04/20(金) 14:41:02.18
数字を入力するのにテンキー使う奴の地雷率は100%
仕様書無しさん [sage] 2018/04/20(金) 19:02:31.75
ソフトウエアの問題は
どんなに技術的に見えようとも
人間の問題である

って偉い人が言ってた
仕様書無しさん [] 2018/04/20(金) 19:05:43.41

(底辺ではなwww)

が抜けてる
仕様書無しさん [sage] 2018/04/20(金) 21:52:25.40
問題というのは人間の主観的認識なのだから
人間の問題でない問題などというものがあろうか?
仕様書無しさん [sage] 2018/04/20(金) 23:16:13.44

> リファクタリングに時間がかかるって主張だよな?

なんでそう何度も曲解するの?
わざとだよね?

時間がかかるのは、コードの修正。
リファクタリングしなくても時間がかかる
仕様書無しさん [sage] 2018/04/20(金) 23:20:25.44
正確に言えばコードの修正を始めるまでの
コードを解析している時間だな

たった一行の修正なのにこんなにするんですか!?って
言われるぐらいの費用になるのは、"コードのタイピング"には
含まれない部分がたくさんある
KAC [sage] 2018/04/20(金) 23:23:17.89

で、コードを解析する時間は
 リファクタリング > 一部修正
だって理解できないの?

「リファクタリング終わったコードを修正する時間は短い」
という主張に誤りは無いが、
リファクタリングする時間を無視してどうする。
仕様書無しさん [sage] 2018/04/20(金) 23:23:47.05

そういうレベルの人はコードメトリクスを計測するツールを使ったほうが良い
ツールで問題が有るとされたコードはほぼ確実に問題が有る
仕様書無しさん [sage] 2018/04/20(金) 23:28:17.97

> で、コードを解析する時間は
解析する時間って言ったのに、お前


> リファクタリング > 一部修正

修正する時間に話がすり替わってるじゃんw


解析する時間、すなわち複雑なコードをよんで
それがなにを意味しているか、どう書換えれば
正しく動くかを、考える時間は

リファクタリングしながら解析する時間 < 一部修正のために解析する時間

こうだからな。

ぐちゃぐちゃに絡み合った紐の束から、少しづつ結び目をときながら、
適切な一本を抜き出すのと、結び目をとかずに適切な一本だけを抜き出すの
どちらが簡単なのかを考えればわかるだろ
スパゲティコードとはよく言ったものだw
仕様書無しさん [sage] 2018/04/20(金) 23:42:05.55

それはそれでわかったが

言ったことの返答にもなってない
話のつながりが見えない
レベルが何を指すのかわからない
問題が何を指すのかわからない

リファクタする奴は思考が支離滅裂だな
仕様書無しさん [sage] 2018/04/21(土) 00:05:35.08
あぁ、問題は全て、人間の主観的な問題!というのが間違いだよ、
客観的な問題も有るよっていったのが通じてないのか
話が分からんやつは困るな
KAC [sage] 2018/04/21(土) 00:14:22.07

お前さん、開発したこと無いの?

一部の修正の為に必要な解析情報量と
リファクタリングに必要な解析情報量の
違いすらわからないなら
解析の仕方がおかしいか、
内容を十分理解せずにリファクタリングしてるって事。
仕様書無しさん [sage] 2018/04/21(土) 00:17:57.77
>リファクタリングしながら解析する時間 < 一部修正のために解析する時間

個人的経験から断固として異議を唱えたい
仕様書無しさん [sage] 2018/04/21(土) 00:19:59.16

もしかしてリファクタリング、溜まってるんですか?
仕様書無しさん [sage] 2018/04/21(土) 00:21:01.32

リファクタ厨は毎回そんなもんだよ
仕様書無しさん [sage] 2018/04/21(土) 00:23:24.27
つーかさ、誰も100%納得がいくまで
リファクタリングしろなんていってないんだよ。
修正する所、どちらにしろテストが必要な所
関係がある所を、少しづつやればいい。

時間がかかるっていうのは、それはいつも手遅れの
コードばかりだって自覚有るからじゃねーの?
仕様書無しさん [sage] 2018/04/21(土) 00:24:30.08
でもメリットが欠片も見えないな
仕様書無しさん [sage] 2018/04/21(土) 00:25:43.38
でも書いたが、
リファクタリング=大規模なものしかイメージできてないって
状態がそもそもやばいよ

142 自分:仕様書無しさん[sage] 投稿日:2018/04/19(木) 00:37:19.05

重要なのは手遅れになる前にこまめにやることだよね

大規模リファクタリングなんてのはあってはだめ
リファクタリングだけのための作業なんて持っての他

そうやって手遅れにするから、リファクタリングのための
工数なんて取れるかーみたいな話になる

リファクタリングは、機能追加や変更に伴う作業に
含まれているべきものですよ
仕様書無しさん [sage] 2018/04/21(土) 00:26:03.25

何度も書いた。コピペしかしないよ?
仕様書無しさん [sage] 2018/04/21(土) 00:26:42.60
リファクタリングをしたから具体的にどういうコードがどうなってそれでどのくらい得になるのかわからない
仕様書無しさん [sage] 2018/04/21(土) 00:27:48.92

え?説明になってないじゃん
仕様書無しさん [sage] 2018/04/21(土) 00:28:36.97

そういう実例が書いてある本を紹介すればいいの?
仕様書無しさん [sage] 2018/04/21(土) 00:29:13.26

ん? すでに過去レスで書いたって言ってるんだけど、
お前はどのレスが「説明」だと思ったの?
仕様書無しさん [sage] 2018/04/21(土) 00:29:45.71
肝心のマーチン本からして何が得なのかよくわからん有様
仕様書無しさん [sage] 2018/04/21(土) 00:31:35.22
本読んでもコードがどうなるかも分からんの?
仕様書無しさん [sage] 2018/04/21(土) 00:33:26.89
理解がちょっとづつ歪んでいくな
リファクタでも同じように処理をちょっとずつゆがめて気が付かずにいるにちがいない
仕様書無しさん [sage] 2018/04/21(土) 00:33:29.19

いや、ここまでそんなレス1つも無いから
仕様書無しさん [sage] 2018/04/21(土) 00:35:02.56
ttps://blogs.yahoo.co.jp/mathweather4067/5819997.html

> 指導のポイント
> ここの指導は、難しい。なかなか理解されないのが、現状です。
>
> まずは、「等式の性質」を思い出させることが必要でしょう。
>
> 次に、「1次方程式の解法」も思い出させます。
>
> その後、1次方程式の解法と対比させながら、進めていきます。
>
> 「等式の変形」は、等式をその目的に応じて変形することの良さが理解できていないと、
> 何のためにするのかがわからないまま、機械的に進めてしまいます。
>
> 導入部分を大事にしたいですね。


まさにコレだな
仕様書無しさん [sage] 2018/04/21(土) 00:35:26.46

でも説明なってないと判断したレスがあるわけでしょう?
仕様書無しさん [sage] 2018/04/21(土) 00:35:28.22

自分の都合のいいように捏造と曲解ばっかりしてるよね
一度もまともな実績がないくせに何で役に立つって言うんだろうね
どうせ数字も捏造してんだろう
仕様書無しさん [sage] 2018/04/21(土) 00:38:32.40

曲解って俺が先に指摘したんだけど、
言われて悔しかったからって自分も使おうとしないでよw
どれが曲解かを指摘してない以上意味ないよ
仕様書無しさん [sage] 2018/04/21(土) 00:42:39.66
いやリファクタ野郎のことね
仕様書無しさん [sage] 2018/04/21(土) 00:43:50.39
お前のことだよw
仕様書無しさん [sage] 2018/04/21(土) 00:45:19.25

そいつの説明が悪すぎる、良さってなんやねん

理解してもらえないのではない
自分が理解もせずに良いものだと思い込んでいるだけだ

本当に理解してたら必要性や可能になることを明確に説明できるはず
仕様書無しさん [sage] 2018/04/21(土) 00:53:21.22
本当に理解している本の作者が
十分以上に説明してるんだけどなぁ
仕様書無しさん [sage] 2018/04/21(土) 00:57:49.37
修正ってほんの数行程度なのに対して
リファクタリングってほぼ全域書き換えでしょ?
そりゃ影響範囲が違いすぎるよ
仕様書無しさん [sage] 2018/04/21(土) 01:00:47.75
読んだ上でいってんのか?

142 自分:仕様書無しさん[sage] 投稿日:2018/04/19(木) 00:37:19.05

重要なのは手遅れになる前にこまめにやることだよね

大規模リファクタリングなんてのはあってはだめ
リファクタリングだけのための作業なんて持っての他
仕様書無しさん [sage] 2018/04/21(土) 01:19:48.95
大規模リファクタリングもありえるよ
こまめにって言ってるのは、せいぜい関数レベルのリファクタリングの話でしょ
まだそれぐらいしか任せてもらえない立場なのかもしれないが、リファクタリングってそれだけじゃないから
仕様書無しさん [sage] 2018/04/21(土) 06:51:17.73
じゃこう考えよう

リファクタリングは
テストコードのデバッグ
仕様書無しさん [] 2018/04/21(土) 07:13:19.41
もうコーディング=リファクタリングでええやん
仕様書無しさん [sage] 2018/04/21(土) 07:29:41.93

あほすwww
仕様書無しさん [sage] 2018/04/21(土) 08:09:45.92
なんで、こんな派遣すら首になるようなリファクタバカを相手にしてるの?

基地外に何言っても無駄だよ。
相手の言葉を聞く能力がないからキチガイにして派遣すら首になってんだから。
仕様書無しさん [sage] 2018/04/21(土) 08:59:08.52

214のどこを読めばそのレスとつながるのか
ID出ない板で自分がわかれば相手もわかるとか思ってるとか
仕様書無しさん [sage] 2018/04/21(土) 09:04:26.73
あれ?
仕様書無しさん [sage] 2018/04/21(土) 10:33:35.84

なぜに対してのレスだと思ったのか?
仕様書無しさん [sage] 2018/04/21(土) 11:12:38.42
なぜだろう
仕様書無しさん [sage] 2018/04/21(土) 11:24:43.22

それって
リファクタリングじゃなくて
リプレース
仕様書無しさん [] 2018/04/21(土) 12:10:29.62
どんなきれいなソースコードでも
プログラムから仕様を起こすのは大変

だから現場が仕様を忘れる前に、再開発をするのが正しい

つまり、リファクタリングなんぞ不要
仕様書無しさん [sage] 2018/04/21(土) 12:12:22.10
やっぱ
日本人のソフト開発って
土木工事想定なのな
仕様書無しさん [] 2018/04/21(土) 12:14:21.71
日本は土建と同じ構造

世界は基本的に内製
仕様書無しさん [sage] 2018/04/21(土) 23:35:59.80
CIAすらアマゾンに開発委託したってのに
仕様書無しさん [sage] 2018/04/22(日) 00:00:17.09

リプレースとリファクタリングを混同するな
仕様書無しさん [sage] 2018/04/22(日) 06:53:14.54

区別の仕方は?
仕様書無しさん [sage] 2018/04/22(日) 08:54:37.71
リプレースって、普通の文脈だとシステム置き換えじゃねーの?
コード周りの文脈でリプレースなんて表現するのか?
仕様書無しさん [sage] 2018/04/22(日) 11:36:40.79
>大規模リファクタリングもありえるよ

大規模リファクタリングとは
リプレイスの事ではないかと言う主張だよ
仕様書無しさん [sage] 2018/04/22(日) 11:37:50.25
どうでもいい
仕様書無しさん [sage] 2018/04/22(日) 11:52:15.63
リプレースってハードウェア更新でしょ?
5年ごとにハードウェアを最新にして、ついでにソフトウェアも新ハード新OS向けにテストしますよと
で、ほとんどはリビルドで済む話だけど
どさくさにまぎれてちょっと不具合修正しましょうとか機能追加して欲しいとなる
そこにリファクタリングする余地は確かに出てくる
本来必要ないのに修正するという意味ではいかにもリファクタリングだ
仕様書無しさん [sage] 2018/04/22(日) 12:18:50.50

ずいぶん狭い世界で生きてるんだね
仕様書無しさん [sage] 2018/04/22(日) 12:33:53.96

転職経験2桁だけど何かいいたいことある?
仕様書無しさん [sage] 2018/04/22(日) 14:21:37.97
大規模リファクタリングなんてあってはならないと言っちゃった以上、「俺のリファクタリング」より大規模なものは、
リプレースでもなんでもいいけどリファクタリング以外のなにかでないと困るんだもんね
仕様書無しさん [sage] 2018/04/22(日) 14:31:39.67

狭いね
仕様書無しさん [sage] 2018/04/22(日) 14:34:41.97

ただのクズやんwww
仕様書無しさん [sage] 2018/04/22(日) 14:48:42.49

リファクタリングの定義は、外部的振る舞いを変えずに
理解や修正が簡単になるように内部構造を改善することなんだが
お前の言うリプレースっていうのは、外部的振る舞いを変えないものってことか?
仕様書無しさん [sage] 2018/04/22(日) 14:49:01.88
> リプレースでもなんでもいいけどリファクタリング以外のなにかでないと困るんだもんね
普通にバージョンアップでは?
仕様書無しさん [sage] 2018/04/22(日) 14:49:53.01

www
仕様書無しさん [sage] 2018/04/22(日) 14:52:10.53

> 大規模リファクタリングなんてあってはならないと言っちゃった以上

お前意味分かってんのか?

大規模リファクタリングなんてあってはいけないっていうのは
許されるのは小規模(せいぜい中規模)リファクタリングまでで
リファクタリングだけを大規模にやってはいけないないってことなんだが?
仕様書無しさん [sage] 2018/04/22(日) 14:56:24.55
なんで大規模リファクタリングがあってはならないのかというと
リファクタリングは、機能変更の中に含まれる、
通常のソースコード変更時に、こまめに行うものだから

大規模リファクタリングが必要になるのは、こまめにリファクタリングしてないで
ソースコードをどんどん劣化させ、限界がきたから作り直す
(それもリファクタリングではない手法で)となってる場合が多い。

大規模リファクタリングのほとんどは単なる改修という意味になっていて
リファクタリングとなってない事が多い
仕様書無しさん [sage] 2018/04/22(日) 14:58:32.10

> 本来必要ないのに修正するという意味ではいかにもリファクタリングだ

何だその定義?
外部的振る舞いを変えずに理解や修正が簡単になるように
内部構造を改善することだけが「いかにもリファクタリング」って
言って良いんだよ。

必要ないのに修正するのがリファクタリングなんて定義初めて聞いたわw
どーこーの、定義ですか?ソースくださいw
仕様書無しさん [sage] 2018/04/22(日) 15:01:25.15


> で、ほとんどはリビルドで済む話だけど
> どさくさにまぎれてちょっと不具合修正しましょうとか
それは不具合修正であってリファクタリングではない
(外部的振る舞いが変わっている)

> 機能追加して欲しいとなる
それは機能追加であってリファクタリングではない
(外部的振る舞いが変わっている)


リファクタリングというのは、不具合修正や機能追加を行う際に
行うもので、不具合修正や機能追加でやる内容の一部
リファクタリング or 不具合修正 or 機能追加 ではない

不具合修正(リファクタリング含む) or 機能追加(リファクタリング含む)
である
仕様書無しさん [] 2018/04/22(日) 15:05:42.64

そんなことないと思うけど


そんなことないと思うけど
一社童貞のやつよりよっぽどマシ
仕様書無しさん [sage] 2018/04/22(日) 15:14:25.01

俺自身は発言の中でリプレースとはどういうものかとはなにも規定してませんが
まぁ外部的振る舞いという面で考えると、変わる場合もあれば変わらない場合もあるよね当然
で、たまたま外部的振る舞いが変わらなかったとしても、それをリファクタリングとは呼ばないよね
仕様書無しさん [sage] 2018/04/22(日) 15:15:34.88

中規模って具体的には?
仕様書無しさん [sage] 2018/04/22(日) 15:20:59.81

なぜ?
仕様書無しさん [sage] 2018/04/22(日) 15:21:57.33
> で、たまたま外部的振る舞いが変わらなかったとしても、それをリファクタリングとは呼ばないよね

そりゃそうだろうね。
リファクタリングは動きを変えないために、
特定の手順にしたがってソースコードを修正する

ttp://shop.ohmsha.co.jp/shopdetail/000000003881/
ここの詳細目次の、5章(は解説なので正確には6章)から
その手順がリファクタリング・カタログとしてまとめられてる。
これを読むと、このやり方なら動きが変わるわけないなってわかるはず。

そしてもう一つ重要なのはテスト。テストによって
外部的振る舞いが変わらないことを保証する
だから、たまたま外部的振る舞いが変わらないっていうのは
テストを実行してないんじゃないかと思われる

テストを実行して、外部的振る舞いが変わらないのを確認するのが
リファクタリングだから、修正のたびに何度も "意図的に" 外部的振る舞いが
変わってないことを確認してる(だからたまたまなんて思わない)
仕様書無しさん [sage] 2018/04/22(日) 15:23:41.48

普段の改修の中でこまめに行うものだけがリファクタリングじゃないよ
プログラム全体に波及するような設計の変更は、ボーイスカウトルールに則ってるだけじゃやれないからね
仕様書無しさん [sage] 2018/04/22(日) 15:24:49.90
意図的に外部的振る舞いが変わらない形で修正して
確認するのがリファクタリングだから、
たまたま動きが変わらないのは、単なるソースコードの変更ってことか
多いんだよな、単なるソースコードの変更をリファクタリングとか言ってるやつ
仕様書無しさん [sage] 2018/04/22(日) 15:25:29.52

プログラム全体に波及するような設計の変更を
こまめにやるってだけですが?
仕様書無しさん [sage] 2018/04/22(日) 15:29:59.37
プログラム全体に波及するような設計の変更を
こまめにやるためのテクニックも↓に書いてありますよ。

> ttp://shop.ohmsha.co.jp/shopdetail/000000003881/
> ここの詳細目次の、5章(は解説なので正確には6章)から
> その手順がリファクタリング・カタログとしてまとめられてる。
> これを読むと、このやり方なら動きが変わるわけないなってわかるはず。

えいやってやるしかないと思ってるのは
単にその力がないだけ
仕様書無しさん [sage] 2018/04/22(日) 15:32:00.64
テストしないでコード整理するのも時には必要
あまりにも悲惨なコードに短時間で多数の機能を追加しなきゃならん時とかね
多少のミスは割り切ってリファクタリングして機能追加して全体を手動テストして納品する
俺はこれをエクストリームリファクタリングと呼んでる
厳密なリファクタリング信者からすると気持ちわるいかもしれないが生産性は高い
仕様書無しさん [] 2018/04/22(日) 15:35:23.66

ド素人か?
この業界で中規模と言ったら1000行以上、1万行未満のことだ
仕様書無しさん [sage] 2018/04/22(日) 15:35:46.27
経験が少ないと、大規模リファクタリングの必要性に直面する状況が想像できないかもしれない
そういう場面も多々あるもんだけどね
仕様書無しさん [] 2018/04/22(日) 15:35:59.41

井の中の蛙と大海の大ウミガメの違いと言えばおわかりになるでしょうか
仕様書無しさん [sage] 2018/04/22(日) 15:39:24.39

うん。だから動きが変わるかもしれないわけでしょ?
それは単なる修正って言えば良いんだよ。
リファクタリングと呼ばなければいい


> 経験が少ないと、大規模リファクタリングの必要性に直面する状況が想像できないかもしれない
想像してるぞ?

こまめにリファクタリングしなかったから、
ソースコードに限界が来てしまった場合に
大規模リファクタリングになるって言ってるじゃないか
(そういう自体になる前にこまめにリファクタリングしよう)
仕様書無しさん [sage] 2018/04/22(日) 15:40:10.62

そんなのファウラーの本に書いてあるか?
あの基本書の内容を踏襲していない行為をリファクタリングとは呼びませんよ?
仕様書無しさん [sage] 2018/04/22(日) 15:40:31.92

× 経験が少ないと、大規模リファクタリングの必要性に直面する状況が想像できないかもしれない
○ 経験が少ないと、大規模 改修 の必要性に直面する状況が想像できないかもしれない

なんでリファクタリングじゃないものを
リファクタリングって呼ぶんですか?

リファクタリングを単なる改修の意味で使わないでください
仕様書無しさん [sage] 2018/04/22(日) 15:41:21.46

> あの基本書の内容を踏襲していない行為をリファクタリングとは呼びませんよ?

そうですね。基本書の内容を踏襲していない行為は
リファクタリングと呼んではいけません。
ただの改修と言いましょう
仕様書無しさん [sage] 2018/04/22(日) 15:42:30.64
なんで改修をリファクタリングって言いたいんだろう?
かっこつけたいのかな?
仕様書無しさん [sage] 2018/04/22(日) 15:43:40.96
言葉の定義とかつまらんからもっと益になる話しようぜぇ

グローバル変数(public static 変数も含む)を安全に排除するリファクタリングテクニックについて議論しよう
リファクタリングするときいつもこれだけはスマートに解決できない
リスクを背負って修正するしかなくなる
仕様書無しさん [sage] 2018/04/22(日) 15:46:22.63
大勃起リファクタリングと聞いて
仕様書無しさん [sage] 2018/04/22(日) 15:49:05.55
>> 271
> なんでリファクタリングじゃないものを
> リファクタリングって呼ぶんですか?

お前にとっての「僕のリファクタリング」なんて知らんがな
仕様書無しさん [sage] 2018/04/22(日) 15:54:49.49
動脈から直接リファクタリングを投与した
仕様書無しさん [sage] 2018/04/22(日) 15:56:28.91

俺にとってのとかじゃなくて
リファクタリングの正しい定義だ
ちゃんと調べてこいよ。
単なる改修の意味で使うな
仕様書無しさん [sage] 2018/04/22(日) 15:59:46.87
最初に書いたテストがリファクタリングの前後で同様に動くとは限らない
壊れたテストを書き直すのもリファクタリングの一部
仕様書無しさん [sage] 2018/04/22(日) 16:02:17.79

意味不明
仕様書無しさん [sage] 2018/04/22(日) 16:06:43.03

大規模なものは改修で、小規模なものはリファクタリング?
仕様書無しさん [sage] 2018/04/22(日) 16:09:52.55
ここまで技術的な話題ゼロwwwマ板は素人しかいないってホントだったのか
仕様書無しさん [sage] 2018/04/22(日) 16:10:33.85

なんでまた曲解するの?
2つの別々の話を混ぜないように

1. 大規模なものも小規模なものも外部的振る舞いが
変わらないようにちゃんとした手順で行って
テストで確認してるならリファクタリング
そうでないなら、単なる改修

2. 大規模リファクタリングが必要になるのは
普段からこまめにリファクタリングしてないから。
普段の改修の中でこまめにリファクタリングしていれば大規模なんて必要ない。
必要になるのは普段からリファクタリングしてなくて、
手遅れ状態になってる証拠。そういうのはあってはだめ
仕様書無しさん [sage] 2018/04/22(日) 16:37:26.44
リファクタリングは小まめに行うべきか?
ある程度たまってから行うべきか?

結論:リファクタリングが不要になるように書け!
仕様書無しさん [sage] 2018/04/22(日) 16:38:45.75
将来の改修や拡張の方向性がわからないのにんあことできるわけないだろ!
仕様書無しさん [sage] 2018/04/22(日) 16:55:29.35
リファクタリングはソースの修正が必要だから行う
つまりソースの修正が必要なくなればいい
データベースでいうところの、UPDATEではなくINSERTになるようにすればいい
つまり、適切な粒度で関数(メソッド)を適切に作成すれば
リファクタリングは不要なのではないか?
例えば、1関数20行という教えはそういう意味も内包しているのではないか?

今までリファクタリングが必要になった場面を思い出して欲しい
やたら長い関数、スコープが不適切な変数、マジックナンバーやあり得ないelseの使い方などがほとんどではないだろうか?
本当にリファクタリングが必要な場面などほぼ無いはずである

もしリファクタリングが必要だというのであれば、それは清書を後回しにして適当に書きなぐることを優先した結果であり
そもそも「ソースを書いていない」わけである
漫画であればペン入れをしていない下書きやネームの状態、ガンプラでいえば接着剤を使わず仮組をした状態だ
もちろん、「正しく作る」ことよりも「とりあえず動く」ものを何よりも時間を優先して作ることが至上命題であることもあるだろう

それでも書道の名家は一発で何度でも美しい書体を生み出す
プログラマであっても一発で完全に美しいソースコードを生み出すスキルは必要なのではないだろうか?

以上のことから、「リファクタリングが不要になるように書け!」というのは正しいと言える
仕様書無しさん [] 2018/04/22(日) 16:58:10.99

意味明瞭
仕様書無しさん [sage] 2018/04/22(日) 16:58:35.06

あー、いや、テストファーストでは
最初にテストコードを書いて、
テストに通る最低限のコードを書いて
そのあとリファクタリングして
完成だから

つまりあんたの言う「ソースを書いている」状態にするまでに
リファクタリングをする。

ちょっと勉強し直してきて
仕様書無しさん [sage] 2018/04/22(日) 17:02:47.45
もちろんテストファーストをしないならリファクタリングはしないってことじゃないよ。
先に実装しても、その後テストコードを書いて、それが通るのを維持しながら
ソースコードを読みやすくする。これもリファクタリング
仕様書無しさん [] 2018/04/22(日) 17:07:13.80
テストファーストはリファクタリングじゃないですよ
仕様書無しさん [] 2018/04/22(日) 17:08:24.89
テストファーストはテストを先に書くってだけで
リファクタリングを内包するわけじゃないですよ
仕様書無しさん [] 2018/04/22(日) 17:08:52.51
テストファーストとリファクタリングは独立した概念です
仕様書無しさん [sage] 2018/04/22(日) 17:08:57.78

テストファーストの手順の中に含まれるものだって話をしてるんだから
テストファースト=リファクタリングなわけないでしょw
お前の日本語の理解力の問題だ
仕様書無しさん [sage] 2018/04/22(日) 17:10:15.59
ttp://www.itmedia.co.jp/im/articles/0602/24/news137.html

>  実行したテストコードが通らなければ『レッド』という状態になり、
> 実装コードを修正する。一方、テストが通った状態は『グリーン』と呼ぶ。
> ただしテストが通っても、可読性を考えてコードをきれいに整えることも多い。
> テストファーストではこの修正作業を『リファクタリング』と呼んでいる。

へー、このスレ勉強になるな
仕様書無しさん [] 2018/04/22(日) 17:11:11.12
個人的にそういうやり方をやってるってだけで
テストファーストとリファクタリングは根本的に異なり
完全に独立して成り立つものですよ
仕様書無しさん [] 2018/04/22(日) 17:12:42.21
テストファーストにリファクタリングは必要ありません
むしろテストファーストの目的を没却する悪手と言っていいでしょう
仕様書無しさん [sage] 2018/04/22(日) 17:14:01.77

意味不明
仕様書無しさん [] 2018/04/22(日) 17:14:35.76
テストファーストでリファクタリングが必要になるなら
テストの粒度が間違っている証拠です、にわかがよくやります
仕様書無しさん [sage] 2018/04/22(日) 17:14:49.44

そりゃそうだろw
だからこそ、テストファーストしてから
リファクタリングするって話になる
仕様書無しさん [sage] 2018/04/22(日) 17:14:49.71

意味明瞭
仕様書無しさん [sage] 2018/04/22(日) 17:15:28.25

ではテストファーストとリファクタリングを一緒に語るのをやめるべきです
仕様書無しさん [sage] 2018/04/22(日) 17:15:31.11

でも、ぐぐったけど、そんな事ないてないよ
ニワカはお前では?
仕様書無しさん [sage] 2018/04/22(日) 17:15:38.76
テストしないでリファクタリングおっかない
仕様書無しさん [] 2018/04/22(日) 17:16:22.76

ググらないとわからないならお前がにわかです
仕様書無しさん [sage] 2018/04/22(日) 17:16:56.81

意味不明
仕様書無しさん [] 2018/04/22(日) 17:17:37.22

意味明瞭
仕様書無しさん [sage] 2018/04/22(日) 17:18:09.05

はい。だからリファクタリングだけでも話をしています。

でもそう書いたでしょう?
> もちろんテストファーストをしないならリファクタリングはしないってことじゃないよ。

テストファースト(開発の前にテストを書く)をしなくても、
リファクタリングは独立したものなので、
開発→テストコードを書く→リファクタリングという手順で、
リファクタリングをすることがあります。

開発の前にテストコードを書いてないのでこれはテストファーストではありません。
仕様書無しさん [sage] 2018/04/22(日) 17:18:46.64

でもお前はググってないで、自分の意見を主張しているわけだよね?
そしてそれが世間で言われてないことがバレたよね?
仕様書無しさん [sage] 2018/04/22(日) 17:18:56.98

はいじゃないが
仕様書無しさん [sage] 2018/04/22(日) 17:19:25.47

バレてません、グーグルがなんでも知ってると思うな
仕様書無しさん [sage] 2018/04/22(日) 17:19:51.01
グーグルを神か何かだと思ってるんじゃなかろうかね
仕様書無しさん [sage] 2018/04/22(日) 17:20:34.82
グーグルは知らないが、俺は知ってる。
情報の出どころは教えられないが
俺を信じてくれるよね?
仕様書無しさん [sage] 2018/04/22(日) 17:20:52.25

はい
仕様書無しさん [sage] 2018/04/22(日) 17:22:08.32
ママぐらいは信じてくれるんじゃねーの?w
仕様書無しさん [sage] 2018/04/22(日) 17:26:27.77

意味不明
仕様書無しさん [] 2018/04/22(日) 17:29:39.31

意味明瞭
仕様書無しさん [sage] 2018/04/22(日) 17:30:08.17

意味不明
仕様書無しさん [] 2018/04/22(日) 17:30:32.03

意味明瞭
仕様書無しさん [] 2018/04/22(日) 17:31:10.19
リファクタリングの定義がないから仕方ない。

コードをいじってばかりのやつは、手段と目的が逆転している。
仕様書無しさん [sage] 2018/04/22(日) 17:31:43.76

意味不明
仕様書無しさん [] 2018/04/22(日) 17:32:16.13

意味明瞭
仕様書無しさん [sage] 2018/04/22(日) 17:32:34.25

お前「意味明瞭」でググってみろwww
仕様書無しさん [sage] 2018/04/22(日) 17:32:48.05

意味不明
仕様書無しさん [sage] 2018/04/22(日) 17:33:03.99
意味明瞭ってなんだよ
仕様書無しさん [sage] 2018/04/22(日) 17:33:33.32

日本人じゃないんだろ
仕様書無しさん [] 2018/04/22(日) 17:33:40.70

意味明瞭
仕様書無しさん [sage] 2018/04/22(日) 17:34:51.48

> コードをいじってばかりのやつは、手段と目的が逆転している。

いや、だからリファクタリングだけやるのは論外って言ってるんだが?
目的は機能追加などの改修で、その手段(の一つ)がリファクタリング

目的を実行する時にこまめにやる手段で、手段そのものが目的になってるような
リファクタリングだけの作業とか大規模リファクタリングはおかしいって
言ってるんだが?
仕様書無しさん [] 2018/04/22(日) 17:35:16.48

意味明瞭をわからない人間の方がブラジル人じゃないだろ
仕様書無しさん [] 2018/04/22(日) 17:35:49.03

意味がはっきりわかること
仕様書無しさん [sage] 2018/04/22(日) 17:35:50.61

意味不明
仕様書無しさん [sage] 2018/04/22(日) 17:36:29.45

日本人なら普通そんな使い方しない
仕様書無しさん [sage] 2018/04/22(日) 17:36:45.31

ブラジル人ではないだろうな
仕様書無しさん [sage] 2018/04/22(日) 17:38:05.31
意味明瞭ワロタwww
仕様書無しさん [sage] 2018/04/22(日) 17:38:29.33

で、これの理由は?
仕様書無しさん [] 2018/04/22(日) 17:38:31.57

お前は普通じゃないし日本人のこと1ミリも理解してない
史実に登場する最初の天皇の名前を言ってみろ
仕様書無しさん [sage] 2018/04/22(日) 17:38:58.60

ググってみろ
仕様書無しさん [] 2018/04/22(日) 17:39:18.98

仕様書無しさん [] 2018/04/22(日) 17:39:54.17

はい知らないのな、お前日本人のこと1ミリも理解できてない
仕様書無しさん [sage] 2018/04/22(日) 17:40:09.54

「意味不明」と「意味明瞭」がちゃんと対照的に使われている例を教えてよ先生
仕様書無しさん [sage] 2018/04/22(日) 17:40:23.74

キチガイおつ
仕様書無しさん [sage] 2018/04/22(日) 17:40:42.04

それ理由になってねーよ
仕様書無しさん [sage] 2018/04/22(日) 17:40:56.42

ググってみろ
仕様書無しさん [sage] 2018/04/22(日) 17:41:12.26

在日おつ
仕様書無しさん [sage] 2018/04/22(日) 17:41:18.43
荒らしが飽きたら続きのレスをお願いしますよ
仕様書無しさん [sage] 2018/04/22(日) 17:42:42.76

うっわ
仕様書無しさん [sage] 2018/04/22(日) 17:43:39.06
ただ、普段からリファクタリングしてたら依頼がきたときに素早く対応できるよね
仕様書無しさん [sage] 2018/04/22(日) 17:43:59.08

キチガイ
仕様書無しさん [] 2018/04/22(日) 17:44:11.09

「意味不明」とは意味がはっきりしないという意味です
「意味明瞭」とは意味がはっきりしてるという意味です
ゆえにこれらの言葉は対称の関係にあるわけです
仕様書無しさん [sage] 2018/04/22(日) 17:44:39.53

統合失調症ですねわかります
仕様書無しさん [sage] 2018/04/22(日) 17:44:56.13

ソース
仕様書無しさん [sage] 2018/04/22(日) 17:45:59.20

対称と対照の違いもわからないカスがこちら
仕様書無しさん [sage] 2018/04/22(日) 17:47:23.36

世の中一般の使用例あげろよ、あるんならな
仕様書無しさん [] 2018/04/22(日) 17:50:04.15

対照は文脈的に大間違いだったので訂正しました
わかってないのはお前です、お前がカス
仕様書無しさん [sage] 2018/04/22(日) 17:50:27.92

やっぱ日本人じゃないな
仕様書無しさん [sage] 2018/04/22(日) 17:50:44.06

なぜ間違いなの?
仕様書無しさん [] 2018/04/22(日) 17:52:10.58

意味がはっきりわかるときに、意味明瞭と言います
これが一般的な使用例です

あなたはただの世間知らずというか無知です
無知な人間は自分が賢いと思いこむ傾向にあることが
認知心理学の研究の結果明らかになっています

あなたは自分が無知であるがゆえに意味明瞭という
自分が知らない言葉を使いこなしている僕に嫉妬しています
無知を自覚してください
仕様書無しさん [sage] 2018/04/22(日) 17:52:55.49

そう言われている具体的な例が未だに出てこない点でアレ
仕様書無しさん [] 2018/04/22(日) 17:52:56.99

対照ではないからです
なぜならば対称しているからです
対照関係と対象関係は明らかに異なります
仕様書無しさん [sage] 2018/04/22(日) 17:53:20.71

だからその一般的に使用されている例を出してみろよ
仕様書無しさん [sage] 2018/04/22(日) 17:53:46.10

説明できていないwww
仕様書無しさん [sage] 2018/04/22(日) 17:54:00.32

これ統合失調症やろ
仕様書無しさん [sage] 2018/04/22(日) 17:54:30.05

対象も出てきたwww
仕様書無しさん [] 2018/04/22(日) 17:54:30.49

それでは具体的な例を上げます

意味がはっきりわかったときに
意味明瞭と言います

この上なく具体的で一般的な例を提示しました
あなたはそれでもわからないと言いはるでしょう
しかし、それは自分が知らない事柄が存在することを認められないだけです
無知であるがゆえにあなたのプライドはとても高いのです
仕様書無しさん [sage] 2018/04/22(日) 17:54:57.96

お前の頭の中を書き出してもそれは一般的とは言わない
仕様書無しさん [] 2018/04/22(日) 17:54:58.76

ただの書き間違いですよ、残念でしたね
仕様書無しさん [sage] 2018/04/22(日) 17:55:15.31

そら対象は違うやろ
仕様書無しさん [sage] 2018/04/22(日) 17:55:43.55

妄想おつ
仕様書無しさん [] 2018/04/22(日) 17:55:53.40

一般的に意味がはっきりわかる場面というのはあるでしょう?
無いんですか? ありますよね、ありますよ
完全に一般的です
仕様書無しさん [sage] 2018/04/22(日) 17:56:10.00

病院行きなさい
仕様書無しさん [] 2018/04/22(日) 17:56:21.60

ただの書き間違いに一生懸命レスしても意味ないですよ
仕様書無しさん [sage] 2018/04/22(日) 17:56:25.39

はい統合失調症
仕様書無しさん [] 2018/04/22(日) 17:56:48.89

お前がODAに行けよ、万年引きこもり
仕様書無しさん [sage] 2018/04/22(日) 17:56:56.98

漢字の違いがミソなのにそれを間違える時点でもうねwww
仕様書無しさん [sage] 2018/04/22(日) 17:57:08.36

うっわ
仕様書無しさん [sage] 2018/04/22(日) 17:57:23.08

使用例
仕様書無しさん [] 2018/04/22(日) 17:57:26.61

自分が医者だと錯覚してる人の方があれだと思います
仕様書無しさん [sage] 2018/04/22(日) 17:57:54.38

妄想と現実の区別がつかない状態がこれです
仕様書無しさん [sage] 2018/04/22(日) 17:58:12.96

それも妄想
仕様書無しさん [sage] 2018/04/22(日) 17:58:51.07

医者なんて単語一言も出てきてないのに…これが統合失調症
仕様書無しさん [] 2018/04/22(日) 17:58:55.43

打ち間違いなんてよくあることです
校正する人なんて居ないですしここ5chですし
正確さにこだわったところで1紋の得にもならないですし
一生懸命書き間違いを攻めようとしている様、とても滑稽です
仕様書無しさん [] 2018/04/22(日) 17:59:27.12

統合失調症と診断できるのは医者だけですよん
想像力足りてなくないですか?
仕様書無しさん [sage] 2018/04/22(日) 17:59:49.39

対称と対照の話で対象は書かねーよ
キチガイ以外は
仕様書無しさん [sage] 2018/04/22(日) 18:00:08.18

だれも診断してない 
妄想おつ
仕様書無しさん [sage] 2018/04/22(日) 18:00:26.15
統合失調症というのはただの悪口であって
実際に病気かどうかは関係ないよ
世の中で統合失調症って言われてる人で実際に医師の診断受けた人ほとんどいないでしょ?
仕様書無しさん [sage] 2018/04/22(日) 18:00:30.25

よう統合失調症
仕様書無しさん [sage] 2018/04/22(日) 18:00:50.63

キチガイとも言う
仕様書無しさん [] 2018/04/22(日) 18:01:12.32

変換ミスっただけだよ
変換ミスっただけでキチガイ呼ばわりとは
そっちの方がむしろあれじゃないですか
仕様書無しさん [] 2018/04/22(日) 18:01:55.62

はい統合失調症って断定してた人いましたよ
妄想じゃないですよ、スレを検索してください
そんな人居ないというあなたの方が妄想乙です
仕様書無しさん [sage] 2018/04/22(日) 18:02:41.19

変換ミスの話ではない
仕様書無しさん [] 2018/04/22(日) 18:02:54.03

よおキチガイ
仕様書無しさん [sage] 2018/04/22(日) 18:02:54.73

キチガイ
仕様書無しさん [sage] 2018/04/22(日) 18:03:21.21

妄想おつ
仕様書無しさん [] 2018/04/22(日) 18:03:56.39

対称を対象と変換ミスった話ですよ
それを変換ミスの話ではないと思ってるなら
それこそ妄想があれですよね
仕様書無しさん [sage] 2018/04/22(日) 18:04:20.08

漢字の違いが主張のポイントなのにその漢字を間違えるなんてありえない
仕様書無しさん [] 2018/04/22(日) 18:04:30.11

言うに事欠いてそれですかw
仕様書無しさん [sage] 2018/04/22(日) 18:05:13.75

対象の意味を理解してないからそんなことが起こる
仕様書無しさん [sage] 2018/04/22(日) 18:05:31.36

いうにことかいて
仕様書無しさん [] 2018/04/22(日) 18:05:44.70

間違いは誰にでもありますし
僕は自分のミスを素直に認めていますよ
変換ミスだって、それを一生懸命攻めようとするのは野暮だと思いますし
本来の議論を見失ってると思います
リファクタリングの話をしてましたよね
仕様書無しさん [sage] 2018/04/22(日) 18:06:07.43

じゃあ何?
仕様書無しさん [sage] 2018/04/22(日) 18:06:52.57

誰もミスを責めてるんじゃない
統合失調症やな
仕様書無しさん [sage] 2018/04/22(日) 18:07:11.08

だからミスじゃねーよwww
仕様書無しさん [] 2018/04/22(日) 18:07:51.59

意味を理解していようといまいと変換ミスは起こるものですよ
仕様書無しさん [sage] 2018/04/22(日) 18:08:02.47
意味不明
仕様書無しさん [sage] 2018/04/22(日) 18:08:09.28

だからそこじゃないってwww
仕様書無しさん [] 2018/04/22(日) 18:09:34.98

ミスった本人がミスだと言ってるわけですからミスですよ
いいやお前はミスターだとかそんな寒いこと言おうとしてるんですか?
やめてください
仕様書無しさん [] 2018/04/22(日) 18:10:36.56

そこですよ、僕の些細な変換ミスを針小棒大に大問題だと
大騒ぎしてYahoo!のトップを飾ろうと画策してる人はいないにしても
そこですよ
仕様書無しさん [sage] 2018/04/22(日) 18:10:43.40

統合失調症やべーな
仕様書無しさん [sage] 2018/04/22(日) 18:11:28.65

統合失調症こっわ
仕様書無しさん [sage] 2018/04/22(日) 18:12:18.92
で、「意味明瞭」の一般的な使用例はいつになったら出てくるんだい?
仕様書無しさん [] 2018/04/22(日) 18:16:57.87



もう何回も言いましたよ
あなたがそれを受け入れられないことも予測してみせました
無知な人間というのは知を拒絶するものなのです

あなたは、意味明瞭という言葉を知らない
僕は、意味明瞭という言葉を知っている
この現実を受け入れられないのです

自分より賢い人間がいることを、自分が知らないことが
世の中にあることを受け入れることができず
自分だけの小さい世界の中に閉じこもって心の平穏を望むのです

僕はそれを悪いことだとは思いませんが無知な人だなって思います
仕様書無しさん [sage] 2018/04/22(日) 18:18:13.23

お前の妄想じゃなくて、現実世界での使用例を
仕様書無しさん [sage] 2018/04/22(日) 18:18:26.53

ソース
仕様書無しさん [sage] 2018/04/22(日) 18:19:17.85

使用例のリンクをいくつか貼るだけなのに何言ってんのこいつ?
仕様書無しさん [sage] 2018/04/22(日) 18:19:53.37
まともな例を見つけられないんだろ
仕様書無しさん [sage] 2018/04/22(日) 18:20:34.20
リファクタリング対象だな
対称でも対照でもなくて
仕様書無しさん [sage] 2018/04/22(日) 18:21:01.08
意味不明
仕様書無しさん [] 2018/04/22(日) 18:21:09.26

意味がはっきりわかることってありますよね?
現実であなたはそういう経験ないんですか?
僕の妄想の話ではありません、現実にそういうことあるでしょう
そういうときに使います

意味明瞭と言って意味がとてもよくわかりましたと相手に伝えるのです
仕様書無しさん [sage] 2018/04/22(日) 18:21:43.07

リンク
仕様書無しさん [] 2018/04/22(日) 18:21:58.64

リンクが貼りたいならあなたが貼りなさいよ
何でもかんでも他人に頼ろうとするな
仕様書無しさん [sage] 2018/04/22(日) 18:22:02.44

頑張ってググるんだ
仕様書無しさん [sage] 2018/04/22(日) 18:22:22.77

俺はそんな使用例知らないから貼れない
仕様書無しさん [sage] 2018/04/22(日) 18:22:36.81

存在しないものは貼れない
仕様書無しさん [] 2018/04/22(日) 18:23:03.86

ttp://medaka.5ch.net/test/read.cgi/prog/1523765624/417
仕様書無しさん [sage] 2018/04/22(日) 18:23:34.28

死ね
仕様書無しさん [sage] 2018/04/22(日) 18:23:51.16

妄想から出られないんですね
仕様書無しさん [sage] 2018/04/22(日) 18:24:07.58

ないんですねわかります
仕様書無しさん [sage] 2018/04/22(日) 18:24:34.86

自己引用わろた
仕様書無しさん [] 2018/04/22(日) 18:24:53.23

知らないのなら覚えよう
知らないことを自覚したなら
自分の世界を広げよう

意味がはっきりわかるときに、意味明瞭と言います
そういう言葉があります

明瞭というのははっきりわかるという意味です
ゆえに意味明瞭というのは意味がはっきりわかるという意味です
仕様書無しさん [sage] 2018/04/22(日) 18:25:10.05

リンク
仕様書無しさん [sage] 2018/04/22(日) 18:25:18.61

ソース
仕様書無しさん [sage] 2018/04/22(日) 18:25:34.34

また妄想かよ
仕様書無しさん [sage] 2018/04/22(日) 18:26:19.92

長文はキチガイ
仕様書無しさん [sage] 2018/04/22(日) 18:27:59.08
意味不明
仕様書無しさん [sage] 2018/04/22(日) 18:28:27.25

ソース
仕様書無しさん [] 2018/04/22(日) 18:28:30.52

国語辞典には日本書紀のリンクが載ってるが
日本書紀にはリンクなんて存在しないからな
だからといって日本書紀の日本語はデタラメだと言う人は居ないだろ
リンクというのはそもそもインターネットが普及してグーグルという
営利企業がそれによってランク付けをするように成ってから
重要視されるようになっただけで、それがなくても言葉っていうのは
作られていくし伝わっていくし話されていくんだよ、僕はその言葉の
大切さを少しでも伝えられたらと思います
仕様書無しさん [sage] 2018/04/22(日) 18:29:48.17

ソース
仕様書無しさん [sage] 2018/04/22(日) 18:30:13.69

オレオレ用語なんですね
仕様書無しさん [] 2018/04/22(日) 18:31:03.20


ソースは一般社会だ
意味がはっきりわかったときに意味明瞭!と言ってみろ
それで相手に伝わらなかった経験があるわけ?
ないだろうが、意味明瞭というのは完全に一般的な言葉なわけ
仕様書無しさん [] 2018/04/22(日) 18:31:47.08

オレオレ用語ってなんすか?
国語辞典10冊見ても載ってないんすけど、なんすかそれ?
仕様書無しさん [sage] 2018/04/22(日) 18:31:52.75

完全に一般的な言葉の使用例をいまだに出せないのはなぜ?
仕様書無しさん [sage] 2018/04/22(日) 18:32:25.95

どの十冊?
仕様書無しさん [] 2018/04/22(日) 18:33:01.84
日本書紀に載ってるんすか? オレオレ用語って
いやマジ、そういうの見たことないんでー、この人日本語苦手なのかなってマジそう思うっすー
仕様書無しさん [sage] 2018/04/22(日) 18:33:44.15
日本書紀www
仕様書無しさん [] 2018/04/22(日) 18:34:03.60
糖質vs糖質
春の休日にふさわしいバトルやなww
仕様書無しさん [sage] 2018/04/22(日) 18:34:10.13
きっも
仕様書無しさん [sage] 2018/04/22(日) 18:34:43.43

バトルになってなくね?
仕様書無しさん [] 2018/04/22(日) 18:35:08.84

明鏡、明解、日本、現国、基準、共明、共立、新日国、現銘、金田一
の10冊
仕様書無しさん [sage] 2018/04/22(日) 18:36:06.22

すごーい君は国語辞典たくさん持ってるフレンズなんだね
仕様書無しさん [] 2018/04/22(日) 18:36:52.27

IT社会だから、紙の本は殆どないけどね
いつでも検索できるようにしてる
仕様書無しさん [sage] 2018/04/22(日) 18:37:55.48

すげえそんなにあるんやな
写真見せて
仕様書無しさん [sage] 2018/04/22(日) 18:38:43.91

その十冊に「意味明瞭」は載ってるのかい?
仕様書無しさん [] 2018/04/22(日) 18:39:36.27

著作権的にアウトだからムリ
漫画村とかも見たらアカンで
5chで無茶言ってもそういうところはきちんとしないと
仕様書無しさん [] 2018/04/22(日) 18:40:12.62

意味明瞭の四字熟語は載ってないけど
意味、明瞭では載ってるよ
仕様書無しさん [sage] 2018/04/22(日) 18:40:36.14

なぜ無理?
仕様書無しさん [] 2018/04/22(日) 18:42:38.30
意味明瞭と言った場合、意味が明瞭なんだなってわかるっしょ
漢字は表意文字だからそういうことが可能なんだよ
オレオレ用語も、オレオレ、用語という単語が合わさってできてるんだ
オレオレの意味と用語の意味がわかれば、オレオレ用語は辞書に載ってなくても
自分で定義した用語のことなんだなってわかるっしょ

オレオレ用語だという人間が意味明瞭をわかりませんというのは
完全に道理に反してる卑劣な行為だと知ってほしい
仕様書無しさん [sage] 2018/04/22(日) 18:43:05.88

誰もそれは否定してないやろ
仕様書無しさん [sage] 2018/04/22(日) 18:43:59.99

だからその使用例を出してみなって
出せないのは普通そんな使い方しないからやろ
仕様書無しさん [sage] 2018/04/22(日) 18:44:17.72

そらそうだwww
仕様書無しさん [] 2018/04/22(日) 18:45:27.68

著作権法的に違法行為にあたるからムリなんだ
僕は法律は守りたい、なぜならば法律は社会を成り立たせる
ためにあるものだし、一人ひとりがそれを尊重することによって
法律は成り立つし、それによって社会が成り立つから
法律に違反するというのは社会を否定することであるし
社会を否定して生きていけるほど僕は強くないから
仕様書無しさん [sage] 2018/04/22(日) 18:45:52.93

使用例
仕様書無しさん [sage] 2018/04/22(日) 18:46:03.35

なぜ?
仕様書無しさん [sage] 2018/04/22(日) 18:46:56.21

誰も辞書の中身を写せなんて言ってなくね?持ってる辞書のパッケージ写すだけなら何が問題なの?
仕様書無しさん [] 2018/04/22(日) 18:47:28.58

使用例は
意味がはっきりわかったときに「意味明瞭だ」と言うんだよ
これが使用例です、普通というのはあなたの日常では使いませんという
意味ですよね、それはあなたの語彙が足りてないから使えてないだけで
このスレであなたは新たな語彙を獲得したんだから、是非使っていって欲しい
と僕は思うわけです
仕様書無しさん [sage] 2018/04/22(日) 18:48:03.50

正式名称教えておくれ
仕様書無しさん [sage] 2018/04/22(日) 18:48:20.50

ソース
仕様書無しさん [sage] 2018/04/22(日) 18:48:37.07

妄想おつ
仕様書無しさん [] 2018/04/22(日) 18:48:37.69

IT社会だから辞書はコンピュータから検索できるようにしていて
そのUIは独自のもので秘匿が原則であることが記されているから
お示しすることはできないというわけです
仕様書無しさん [sage] 2018/04/22(日) 18:49:31.52

典型的な嘘やな
仕様書無しさん [sage] 2018/04/22(日) 18:50:06.73

この古臭さはどこから?
仕様書無しさん [sage] 2018/04/22(日) 18:52:01.63
意味不明
仕様書無しさん [sage] 2018/04/22(日) 18:55:07.63

IT社会
コンピュータ

うーん
仕様書無しさん [] 2018/04/22(日) 18:56:12.13

仮にそれが嘘だとしても、意味明瞭が「意味がはっきりわかること」
に変わりはないんだからね!?


仮にそれが古臭いとしても意味明瞭が「意味がはっきりわかること」
を意味することに異論はないでしょ?
仕様書無しさん [sage] 2018/04/22(日) 18:57:35.06

ソース
仕様書無しさん [] 2018/04/22(日) 19:02:06.16
本当はわかってるくせにわからない振りをしてるだけですよね
意味明瞭と言って本当にその言葉の意味がわからない人っていますか?
そんな人が本当に居るとしたら、その人はオレオレ用語の意味さえわかりませんよ
言葉は単語のつながりですし、単語の元々の意味が変わることなんてありません
元の単語の意味がつながるだけです

無知な人はわからないわからないと言っていれば良いので
議論において最強と言われることがありますが
そういうことで最強の名を手中に収めて満足できますか?
僕はできませんね、なぜならば無知なだけだからです
ものを知らないだけだからです、知らないことを武器に
偉そうに振る舞って相手を黙らせて何が嬉しいのでしょうか
自分の無知に気づかない本当のバカですよ
仕様書無しさん [sage] 2018/04/22(日) 19:03:36.45

ソース
仕様書無しさん [sage] 2018/04/22(日) 19:03:49.80

長文はキチガイ
仕様書無しさん [] 2018/04/22(日) 19:06:34.92

短文は知恵遅れ
みたいな

やめましょうよそういう煽り合いみたいなの
知性ある議論がしたいです
仕様書無しさん [sage] 2018/04/22(日) 19:07:58.86

ソースが必要な部分あるか?w
仕様書無しさん [sage] 2018/04/22(日) 19:24:09.78

長文はキチガイ
仕様書無しさん [sage] 2018/04/22(日) 19:24:43.46
「意味明瞭」で検索しても、一件もヒットしないんだが?
仕様書無しさん [sage] 2018/04/22(日) 19:29:17.78

ソース?

大東亜会議の真実: アジアの解放と独立を目指して - Google ブック検索結果
ttps://books.google.co.jp/books?isbn=4569634958
> 東條も土壇場になると、日本の古歌、諺を引用する癖があり、いずれの場合も意味明瞭でない。

上司になってはいけない人たち - Google ブック検索結果
ttps://books.google.co.jp/books?isbn=4569819184
>一塁離明瞭かつ意味明瞭な指示を心がけることによって、
>自分は何を知っていて何を知っていないかが明らかになる。

瀬戸内−道後殺人事件 - Google ブック検索結果
ttps://books.google.co.jp/books?id=K_n6DAAAQBAJ
> 塔本によって、広島のどこかで麻薬漬けにされているという意味なんでしょうか」
> 「最初の書き込みは意味明瞭だが、問題はあとのほうだ」

経営理念 - TEC予備校
ttps://tec-yobiko.co.jp ? TECの取り組み
> つまり、あくまで言語明瞭・意味明瞭に徹した世界なのです。言うまでもなく、
> その後の人生において生徒達も、“言語明瞭・意味不明”な話術を身につけていく
> 可能性はありますが、私たちの教室ではその技術を教えることも利用を推奨することもありません。
> 「言語明瞭・意味明瞭」一点張りです。

出版物のご案内 - 株式会社ビジネスサポート
www.bizsupport.co.jp/book.html
> シートI 意味明瞭化シート

災害医療センター がん疼痛相談外来 患者情報提供書 - 独立行政法人 ...
www.nho-dmc.jp/treatment/department/pdf/gantoutuujyouhou2017.pdf
> コミュニケーション □ 0 意味明瞭・複雑な表現. □ 1 意味明瞭・単純な表現.
仕様書無しさん [sage] 2018/04/22(日) 19:29:21.16
意味不明
仕様書無しさん [sage] 2018/04/22(日) 19:38:24.06
有名税は世相の反映、政治家のニックネーム
ttps://blog.goo.ne.jp/tenyumineo/e/114c240601bdf83d4bf09e77b5f65356
> 大平正芳:鈍牛、言語不明瞭・意味明瞭

ttps://blog.goo.ne.jp/shima1946/m/201001
> 往年の総理・大平正芳さんは「言語不明瞭 意味明瞭」といわれたものでした。
仕様書無しさん [sage] 2018/04/22(日) 19:44:20.78

> コードをいじってばかりのやつは、手段と目的が逆転している。

いや、だからリファクタリングだけやるのは論外って言ってるんだが?
目的は機能追加などの改修で、その手段(の一つ)がリファクタリング

目的を実行する時にこまめにやる手段で、手段そのものが目的になってるような
リファクタリングだけの作業とか大規模リファクタリングはおかしいって
言ってるんだが?
仕様書無しさん [sage] 2018/04/22(日) 20:14:12.25
結局さ、リファクタリングに文句言ってるように見えて、
実は自分らが普段やっている、いろんな問題が発生している
信頼性の低い行き当たりばったりの改修方法に
文句言ってるだけだろ?

リファクタリングをただの改修と勘違いして、
いつもの自分らを批判してるだけ
仕様書無しさん [sage] 2018/04/22(日) 21:06:56.52
取り敢えず、リファクタリングの意味は間違えんなよって言いたい。
リファクタリングは、利用者から見て全く振る舞い=挙動が変わらんやつのことだ。シンプルな定義じゃないか。

その性質上、リファクタリングのみで直接利益の上がる作業なんて(ほぼ)ないし、他の修正とセットになることが多い。が、ちゃんとリファクタリングとそれ以外は明確に別れる必要もある。

何も難しくない
仕様書無しさん [sage] 2018/04/22(日) 21:22:12.90
> が、ちゃんとリファクタリングとそれ以外は明確に別れる必要もある。

どういう意味で言ってるのか知らんが、これを読めばわかると思う

Martin Fowler氏によるリファクタリングのワークフロー
ttps://www.infoq.com/jp/news/2014/03/fowler-workflows-refactoring

> 機能を追加するとき
> バグを修正するとき
> コードレビューと共に
> Fowler氏は「二つの帽子」の比喩を引きあわせて、プログラミングのタスクをこなす際の、
> 新しい機能の追加(ファンクションの帽子をかぶること)と、
> コードの品質向上(リファクタリングの帽子をかぶること)について説明している。
> そして、「プログラミング中は、頻繁に、ことによると数分毎に2つの帽子を
> 取り替えることになるだろう。しかし、一度にかぶれる帽子はどちらか1つだけだ。」と彼は述べている。

一つのタスクの中でこれらは混ざるが、同時に二つを行うことはない。
その意味で明確に分かれるといってるのならそれはそのとおり

もう少し具体的に言えば、ある機能実装のブランチがあって
そのブランチの中でこれらは混ざることはあるが、コミットは別れている
仕様書無しさん [sage] 2018/04/22(日) 21:30:13.63
> その性質上、リファクタリングのみで直接利益の上がる作業なんて(ほぼ)ないし、

それはコードのメンテナンス性や可読性を上げても
直接利益に上がらないと言ってるのと同じことで
他の業界で言えば、作業を効率化しても客の数が変わらければ
利益は上がらないと言ってるのと同じことだろう

たしかにそのとおりだが作業を効率化させないと
客の数を増やしたら忙しすぎて破綻するし、
余裕がなければ疲れるだろう。利益ではなく
作業効率に直接影響するのがリファクタリングなんだよ。
仕様書無しさん [sage] 2018/04/22(日) 21:30:55.90

あってるあってる。俺もそんなこと言おうとしてた。
もっと言うと、リファクタリングコミットでテスト回してないなら、ただのedit and prayやろって奴やな
仕様書無しさん [sage] 2018/04/22(日) 21:40:47.76

効率化云々を否定するつもりはない。効率化するならいいじゃないか。
ただ俺はの通りの主張。
コストの前借りは基本通らねえよ、とだけ。
仕様書無しさん [sage] 2018/04/22(日) 21:45:35.66
コストの前借りなんて話はしてない。
コードを改修する時の作業に含まれてるんだから

現在のコードの品質(理解しやすさ)によって
改修にどれくらい時間がかかるかは変わるのだから
見積もりには現在のコードの品質を反映させる必要がある。

これは改修でやらなければいけないことで、前借りではない
仕様書無しさん [sage] 2018/04/22(日) 22:05:59.89
こっちはリファクタリングコストは見積もらないけどな...。
他の作業と置き換えて効率化できるならOK
リファクタリングコストないじゃんとかわけわからないこと言わなきゃいい
KAC [sage] 2018/04/22(日) 22:10:21.43

だから、それが間違いだと指摘してるのにまだ気付かないのか?
仕様書無しさん [sage] 2018/04/22(日) 22:11:13.87
リファクタリングしようがしまいが、
現状のコードが複雑なら解析に時間がかかるので、
あとはその解析結果をコードに反映して次回はもちろんのこと
今回のレビューやエンバグした時の修正を楽にするか
今のままより複雑にして大変にするかの違いなんだよな

そんなに複雑じゃないならリファクタリングも大したことない
すごく複雑なら、それリファクタリングしないと近い内に苦労するよってこと
こまめなリファクタリングが重要
100%完璧にしろなんて言ってない。修正する前よりも良くなっていればいい
仕様書無しさん [sage] 2018/04/22(日) 22:11:59.83

お前のその指摘が間違いなんだよw
KAC [sage] 2018/04/22(日) 22:23:15.10

それが事実なら、指摘内容にちゃんと反論しろよ。。。
仕様書無しさん [sage] 2018/04/22(日) 22:34:53.57
指摘内容に反論してるのが、の内容でしょw

つ〜か「間違ってる」というだけじゃ
それは指摘じゃない。

地球が太陽の周りを回ってるのは間違いなんだ!
って言っても、それは指摘じゃないのと同じこと
仕様書無しさん [sage] 2018/04/22(日) 22:44:53.89
ちゃんと設計して作成、改修してるのにリファクタリングが必要になるのは何故?
なんかすでにおかしくね?

つまり、リファクタリングっていうのは設計が腐ってるから発生した不具合ってことだよね
仕様書無しさん [sage] 2018/04/22(日) 22:49:24.59
頭がばぐってる奴のこじつけ論にトラウマがある
最初から最後まで自分の主観から一歩も出ていない
立場をかさにきてるだけ
バットで頭なぐるか車でひき殺すかしたい
仕様書無しさん [sage] 2018/04/22(日) 22:55:32.38
そこからわからないのか?

客が仕様変更しないとでも思ってるのかな?
状況は刻々変わってるし、やってみなければわからないこともある
20年以上前のアプリがクラウド対応の設計していたらびっくりだわ

ソフトウェアは同じものを作ることはなく、はじめての道ばかりなんだから
軌道修正しながら進むしかないんだよ。
その軌道修正っていうのがリファクタリングでもある。
KAC [sage] 2018/04/22(日) 22:59:46.88

はあ、都合の悪いものは見えない人か。
なら、お前の主観ではさぞかしリファクタリングは効率的なんだろうな。
仕様書無しさん [sage] 2018/04/22(日) 23:02:28.12
「リファクタリングは効率的」とは
いわないな。言葉の使い方が変だ

リファクタリングは効果的ならわかるが
仕様書無しさん [sage] 2018/04/22(日) 23:05:14.75
開発中のコードなのにテストコードのカバレッジを100%してリファクタリングするバカ
仕様書無しさん [sage] 2018/04/22(日) 23:38:13.28

それは設計ミスの言い訳になるの?
仕様書無しさん [sage] 2018/04/22(日) 23:55:15.44
設計ミスなどない
仕様書無しさん [] 2018/04/22(日) 23:58:31.24

テストコードのテスト?
仕様書無しさん [sage] 2018/04/23(月) 00:04:46.84

じゃあリファクタリングなんてやる必要ないじゃん
仕様書無しさん [sage] 2018/04/23(月) 00:12:15.78
後出しで変化した状況に対応するにはやったほうがいいこともある

ふくらんだクラスを分割して平行作業したり
後から出てきた概念と名前を調整したり
既存コードに手を入れなくても機能拡張できるようにしたり
仕様書無しさん [sage] 2018/04/23(月) 00:29:35.44
取り敢えずからまで話が割と繋がってるんだから、そこから結論出せそうじゃん
仕様書無しさん [sage] 2018/04/23(月) 00:32:08.58

全部金になんないね
お前、仕事やって金稼いだことあんの?
KAC [sage] 2018/04/23(月) 00:49:44.07

お前さんが「リファクタリングを理解していない」のは既に指摘したが、
まさかそこまで酷いとは驚きだよ。

もう一度リファクタリングとは何か調べてから出直してこい。
仕様書無しさん [sage] 2018/04/23(月) 01:09:41.41
この程度のことを金にできない奴隷PGたち
よっぽど信頼されていないんだなw
仕様書無しさん [sage] 2018/04/23(月) 01:34:52.95

基本的にYAGNIでKISSだから。
機能追加する時初めてインターフェースを切り出したり、関数の所在を変えたりする場合も少なくない。


少なくとも20年前云々は、例として適切でない。
リファクタリング文化がある98年制のソースを触ったことなどない。


言葉そのものでなく、の流れを受けての文脈。つまり(トータルコストを見て)効率的かどうか。という事。
仕様書無しさん [] 2018/04/23(月) 02:17:31.75
日本の場合はリファクタリングではなく、システムを作り替えるタイミングがリファクタリングにあたる。

外国人は新しいバグを埋め込んだり、仕様が変わってしまっても気にしない文化だから、日本人の感覚とは合わない。
仕様書無しさん [sage] 2018/04/23(月) 05:36:26.93

テスト工数の削減が見込める場合はやるだろ
仕様書無しさん [sage] 2018/04/23(月) 06:14:50.48

やらない
お前のやり方だとデグレが怖いから
仕様書無しさん [sage] 2018/04/23(月) 07:49:11.35
リファクタ箇所が限定されてりゃ少量のテストでカバーできるだろ
仕様書無しさん [sage] 2018/04/23(月) 08:18:26.16

それは仕様がすべて文章化されていればな
実際はそんなこと不可能だし
変更した以上デグレは覚悟しなければならない
仕様書無しさん [sage] 2018/04/23(月) 09:45:42.62

> 日本の場合はリファクタリングではなく、システムを作り替えるタイミングがリファクタリングにあたる。

それは仕様がすべて文章化されていればな
実際はそんなこと不可能だし
変更した以上デグレは覚悟しなければならない
仕様書無しさん [sage] 2018/04/23(月) 09:53:07.78

仕様なんてソースコード読んで、
その動きが仕様なのでは?
仕様書無しさん [sage] 2018/04/23(月) 09:54:57.20

一瞬システムリプレースの事だと勘違いするから、改修とか修正って単語使って欲しい

んで、何度も言うように、少なくともリファクタリングの時点でテストはされるし、バグがリファクタリング起因でない事は(メモリ起因やテスト自体の不備を除けば)確実だ、としておく。
なんで、外国人、日本人の下りは何かがおかしい
仕様書無しさん [sage] 2018/04/23(月) 10:53:40.38
仮にソースが仕様であるならば、バグは1つもないことになる
仕様書無しさん [sage] 2018/04/23(月) 12:08:46.41
関数の中のロジックの一部を他の関数に切り出して、カバレッジ100%のユニットテストで元のテストの
外部的振る舞いが変わってないことを確認して満足してた奴がリファクタリング起因の障害を発生させてたわw
仕様書無しさん [sage] 2018/04/23(月) 13:27:15.16
テストコード自体の不備に関してはどうしようもないからな
ただそれに関しちゃ、手動テストでも同じことが言えるからどっちもどっち。
仕様書無しさん [] 2018/04/23(月) 14:56:45.98

手動でもテストコードはあるんだが?
仕様書無しさん [sage] 2018/04/23(月) 17:34:25.51
リファクタリングしなければ不具合は発生しない
仕様書無しさん [sage] 2018/04/23(月) 19:31:15.43
ここまで技術的な話題ゼロ
オワットルなジャップ
仕様書無しさん [sage] 2018/04/23(月) 20:11:50.92
ソフトウエアの問題は
それがどれほど技術的に見えようとも
結局は人間の問題である

と偉い人が言ってた
仕様書無しさん [sage] 2018/04/23(月) 21:31:15.36
コードがださいからリファクタしたい
気が滅入る
仕様書無しさん [sage] 2018/04/23(月) 21:37:25.89

> 外部的振る舞いが変わってないことを確認して満足してた奴がリファクタリング起因の障害を発生させてたわw

それ普通に修正してもバグ入れ込むよね?
仕様書無しさん [sage] 2018/04/23(月) 21:38:22.86

> 手動でもテストコードはあるんだが?

なら手動でバグを見つけられなかったことでは?
まあ手動によるテストは信頼性が低いからね
仕様書無しさん [sage] 2018/04/23(月) 21:46:49.18


触らないならバグらないよ
仕様書無しさん [sage] 2018/04/23(月) 22:01:01.53
結局リファクタの成否は
客を丸め込んでデグレのリスクを飲ませられるかにかかってる気がしてきた

バージョンアップとかスピードアップとかなんかこじつけて
リファクタでデグレたら原因も無理やりそこに倒す
仕様書無しさん [sage] 2018/04/23(月) 22:09:44.65
その前に正しい知識が必要だけどな。
リファクタリングは効果的、これを開発社側が
正しく理解してないと、現状のコードの問題を
リファクタリングのせいにしてしまう。
仕様書無しさん [sage] 2018/04/23(月) 22:10:30.68
現状のコードの問題ってのは、例えば
仕様もテストコードもないんだが?とかそういうのなw
仕様書無しさん [sage] 2018/04/23(月) 22:14:41.53

正しい知識があったらリファクタがプログラマーが楽するためのものだってばれるじゃないか!
仕様書無しさん [sage] 2018/04/23(月) 22:16:20.23
開発中なのにユニットテストでプロダクションコードをガチガチに硬直化させるアホ
仕様書無しさん [sage] 2018/04/23(月) 22:16:42.65
なにか問題でも?
開発側が楽になれば、それは顧客にとってメリットしかないよね?
仕様書無しさん [sage] 2018/04/23(月) 22:17:49.19

お前のその「開発中」は何ヶ月あるんだ?

お前の所は各モジュールごとに計画を立てて開発するんじゃなくて
全部いっぺんに作業してしまってるのか?
仕様書無しさん [sage] 2018/04/23(月) 22:21:41.39

ユニットテストが壊れない程度のリファクタリング、つまり関数レベルのリファクタリングしかしない人にはわからないかも
仕様書無しさん [sage] 2018/04/23(月) 22:24:43.47

なんでユニットテストを修正してはいけないと思ってるんだ?

リファクタリングでユニットテスト修正するだろ。
というだけじゃ意味が分からんのだろうな
テストは修正しないって言ったじゃないですか!って言いそうw


リファクタリングはテストに通るように修正するのであって、
それさえ守れば、テスト自体の修正もする。
テストのリファクタリングなんて言葉もある。

説明がほしいか?
仕様書無しさん [sage] 2018/04/23(月) 22:26:59.68
まあここらへんだな。お前がユニットテストを壊さなきゃできないと
勘違いしているリファクタリングだ

新装版 リファクタリング 既存のコードを安全に改善する
ttp://shop.ohmsha.co.jp/shopdetail/000000003881/

第6章 メソッドの構成
メソッドの抽出
メソッドのインライン化
一時変数のインライン化
問い合せによる一時変数の置き換え
説明用変数の導入
一時変数の分離
パラメータへの代入の除去
メソッドオブジェクトによるメソッドの置き換え
アルゴリズムの取り替え

第7章 オブジェクト間での特性の移動
メソッドの移動
フィールドの移動
クラスの抽出
クラスのインライン化
委譲の隠蔽
仲介人の除去
外部メソッドの導入
局所的拡張の導入
仕様書無しさん [sage] 2018/04/23(月) 22:31:31.09
まあ簡単に説明するとだな。

「実装クラス」があって

「テストコード」がこの実装クラスを見ている時の
クラスを大きく書き換えるリファクタリングはな


「新しいクラス」を作って、

「実装クラス」の処理を新しいクラスに移譲することで、

「テストコード」から見るインターフェースを
まったく変えること無く、新しいクラスに移行するんだよ


そして「新しいクラス」のテストも書いて(もちろん一部は現在のテストコードを流用していい)
「実装クラス」を参照しているものを、新しいクラスを参照するように書き換え
どこからも使われなくなったら「実装クラス」をそのテストコードもろとも削除


というやり方が、のリファクタリング本に書いている

だから「ユニットテストが壊れない程度のリファクタリング」と言われても
あー、分かってない人ねとしか思わないよ。
仕様書無しさん [sage] 2018/04/23(月) 22:36:31.59
パズルやりたいなら一人でやってろや
仕事中に遊んでんじゃねえ
仕様書無しさん [sage] 2018/04/23(月) 22:40:36.13
画面見てキーボード打ってるとゲームして
遊んでるとか思うおっさんがいるらしいなw
仕様書無しさん [sage] 2018/04/23(月) 22:43:19.23
こんなパズルいらねーんだよ。
バーンと書き換えて、やっちゃって
ミスったらリファクタリングのせいにすればいいだろ


↑こういうやつがリファクタリングのせいにするわけかw

リファクタリングは変更しても問題ない手順で変更することで、
たんなる変更、いつもお前らがやってるような手抜きの
無計画な変更を言い換えた言葉ではありません
仕様書無しさん [sage] 2018/04/23(月) 22:44:15.53
結局テストコード削除してたらだめじゃん

やってる本人はよくても
他人はリファクタ前と後で変わってないことをどうやって確かめるんだ
仕様書無しさん [sage] 2018/04/23(月) 22:46:32.34
> 結局テストコード削除してたらだめじゃん

ちゃんとよめや。
移行して使われなくなってから削除するんだよ

お前みたいに、なにも考えずに削除してるんじゃねーよw


> 他人はリファクタ前と後で変わってないことをどうやって確かめるんだ

なんのためにコミットログがあると思ってんの?
あ、もしかしてそこから?

レベルの差が2段階、3段階ありそう・・・
仕様書無しさん [sage] 2018/04/23(月) 22:48:18.58

勿体ぶらずにちょっと具体的な確認手続き言ってみなさい
仕様書無しさん [sage] 2018/04/23(月) 22:54:04.64

1. リファクタリングする前にはテストがある。
2. 足りなければ追加する
3. テストが通る
4. リファクタリングする(コードを書き換える)
5. リファクタリングしてもテストが通る

それだけじゃん。

まだ補足が必要?

1. さらにコードを書き換える
2. コードを書き換えるうちに(テスト以外で)使われないモジュールが登場する
3. テストは通るがプロダクションコードでは使われてない
4. 使われてないコードは安全に削除できる

いわれないとわからないかなあ?w
仕様書無しさん [sage] 2018/04/23(月) 22:58:29.81
コミットログは?w
仕様書無しさん [sage] 2018/04/23(月) 22:59:42.12

他人が一連のリファクタリングの途中を
見るために決まってるじゃん?

なにかわからないところがあったの?
仕様書無しさん [sage] 2018/04/23(月) 22:59:49.36

だからさ、「ガチガチに硬直化」って丁寧に言ってやってんじゃん
そりゃリファクタリングの過程でテストも書き換えるよ
ていうか書き換えるに決まってんじゃんアホか
開発中の日々形を変えるコードに対してガチガチのテストを書くなって言ってんだけど、
わかんない?アホだからわかんないの?もうちょっと精進しろよアホ
仕様書無しさん [sage] 2018/04/23(月) 23:00:16.48
やっぱり話が通じないのは
レベルの差が4段階、5段階あるからか・・・
仕様書無しさん [sage] 2018/04/23(月) 23:01:48.90

> だからさ、「ガチガチに硬直化」って丁寧に言ってやってんじゃん

ガチガチに硬直化ってなに?
ファイルをリードオンリーにでもすんのか?
変更できないコードなんてないはずだけど?


どうやるのかはしらないが、
お前がガチガチに硬直化させたのなら、
それはお前の責任だよね?
仕様書無しさん [sage] 2018/04/23(月) 23:01:57.08
リファクタの途中よりリファクタの前と後で結果が変わらないことを保証してほしいんだけど
仕様書無しさん [sage] 2018/04/23(月) 23:02:23.37
スクラッチでシステム作ったことないんだろうか
リリース済みのコードとそれに対する改修の文脈でばかり語ってるところを見ると、そうなんだろうな
仕様書無しさん [sage] 2018/04/23(月) 23:02:52.05

> 開発中の日々形を変えるコードに対してガチガチのテストを書くなって言ってんだけど、

テスト=仕様を元に決まるものなはずだけど、
仕様が日々変わりまくるのか?

ならそっちが問題だなw
仕様書無しさん [sage] 2018/04/23(月) 23:03:48.02

経験が浅い人にはわかんないかも
リファクタ本に書かれてる話じゃなくてごめんね
仕様書無しさん [sage] 2018/04/23(月) 23:05:13.56

> リファクタの途中よりリファクタの前と後で結果が変わらないことを保証してほしいんだけど

だからリファクタの前=コミットログの修正前
リファクタの後=コミットログの修正後だろ?

リファクタの前のテストコードを変更せずに
リファクタの後でもそのまま通れば
変わってないことが証明できる。




あー、これ↓を言っておかないとダメなんだろうなw
結果が変わってないと証明された後、
使われてないと判明したコードは削除できる
仕様書無しさん [sage] 2018/04/23(月) 23:05:28.65

テストはクラスやメソッドの仕様であってシステムの仕様ではありませんが
仕様書無しさん [sage] 2018/04/23(月) 23:05:53.43
おまいがリファクタして部分的な仕様を変えまくってんじゃん

そのうえで全体的な仕様が変わってないことを保証しないといけないわけだが
仕様書無しさん [sage] 2018/04/23(月) 23:06:32.49

> リファクタ本に書かれてる話じゃなくてごめんね

じゃあどこに書かれてる話なの?
お前の想像の世界の話はいらないからw

どうも「自分がくそったれなやり方してます。
くそったれなやり方には使えないんですけど?」
って言ってるようにしか見えない。
お前のくそったれなやり方の問題だろとしか
仕様書無しさん [sage] 2018/04/23(月) 23:06:42.27
偉そうな口をきいてるわりに視野が狭い
仕様書無しさん [sage] 2018/04/23(月) 23:07:05.91

> テストはクラスやメソッドの仕様であってシステムの仕様ではありませんが

だから?
システムの仕様じゃなくても、クラスやメソッドの仕様でしょう?
仕様書無しさん [sage] 2018/04/23(月) 23:08:13.58

> おまいがリファクタして部分的な仕様を変えまくってんじゃん

変えてないよ?

日々テスト変えなきゃならないどこかの誰かさんと違って、
テストは基本安定している。

テストコードを変えない状態でコードを書き換えてるので
リファクタしても仕様はまったく変わらない
仕様書無しさん [sage] 2018/04/23(月) 23:08:14.72
日々コードの形が変わっていくのをイメージできない初心者はIDDDでも読んでみたらー
仕様書無しさん [sage] 2018/04/23(月) 23:10:19.92
もしかしてプライベートメソッドのテストをしてるとかかな?w
それユニットテストじゃない

ユニットテストはモジュールのインターフェースのテストだから
変わりまくることはあり得ない。

もしモジュールのインターフェースという概念がなくて、
単に長いから関数にまとめましたみたいな、
なんでかしらないけど、この関数テストしづらいです。
なんてことをしてるのならそいつの問題
仕様書無しさん [sage] 2018/04/23(月) 23:11:29.71

でも今まさにそれを変えるときの話してたよな?
仕様書無しさん [sage] 2018/04/23(月) 23:12:22.55
具体的にどんなコードとどんなテストをかいて
ガチガチに固まって、メンテナンスが大変です。
なんて状態になってるのか書いてみたら良いよ。
想像の世界の話じゃないなら書けるはず
仕様書無しさん [sage] 2018/04/23(月) 23:14:05.70

外から見た時の動きが変わってなければ良い。
そして外から見た時の動きが変わってないが、
(テストコード以外で)使われていないメソッドを作ることは可能
そしたら使われてないコードは安全に消せる。

こういう話をしてます。
仕様書無しさん [sage] 2018/04/23(月) 23:18:32.85

つまり今までの話は
低い階層の処理クラスの単体テストの話で
さらにそれを包含するクラスの単体テストは別途あって
そっちは変更ないと
仕様書無しさん [sage] 2018/04/23(月) 23:38:30.60
低い階層がなんののか知らんが、
【現在のクラス】をリファクタリングするとき

「新しいクラス」

【現在のクラス】←「その他のクラス」←「その他のクラスのテストコード」

「現在のクラスのテストコード」


こういう階層の時、「現在のクラスのテストコード」はそのままに、
「新しいクラス」に処理を移動していくことはできるだろ?
(移動だけじゃなくて新しく作ってもいいけど)

リファクタリングするのは【現在のクラス】だけ
「現在のクラスのテストコード」は書き換えない
【現在のクラス】を利用している「その他のクラス」も書き換えない
(当然「その他のクラスのテストコード」も)


コードの修正をすすめると【現在のクラス】は「新しいクラス」への移譲コードだけになる。

また「その他のクラス」は「新しいクラス」を参照するようにする。
「その他のクラスのテストコード」の修正はしないから、変わってないことは保証できる。
最終的に【現在のクラス】を「その他のクラス」は参照することはなくなる。

そして【現在のクラス】は「現在のクラスのテストコード」以外からは
どこからも使われてないクラスになるので安全に削除できる

これが関数レベルではない、クラスレベルのリファクタリングのやり方
それはとかの本に書いてある基本だから、ほんと勉強してくれとしか
仕様書無しさん [sage] 2018/04/23(月) 23:43:44.16
一応言っておくけど、これは、クラス根本的に
変えてしまうほどのリファクタリングの手順

メソッド一個だけとかならここまでやる必要はない。
その場合は、メソッド単体で、他のメソッドの委譲したりして
該当のメソッドを使われてない状態にしてから削除する
仕様書無しさん [sage] 2018/04/23(月) 23:58:55.58
下位クラスの結果も検証するように緻密に単体テスト作られてればいいが

ユニットテストするときなんて下位クラスはモックになってること多い
その場合参照するクラス変わったらモック設定書き換えにゃならん
仕様書無しさん [sage] 2018/04/24(火) 00:11:44.40
既にあるロジックをどこか別の場所に移動する以外にネタねえのかよw
仕様書無しさん [sage] 2018/04/24(火) 00:16:57.50

あほ
仕様書無しさん [sage] 2018/04/24(火) 00:18:30.70

テストにもいろんなレベルがあることに考えが至らない奴隷コーダー
仕様書無しさん [sage] 2018/04/24(火) 00:24:31.48
結局単体テストは個人のテスト証跡以上の意味はないのだろうか
仕様書無しさん [sage] 2018/04/24(火) 00:42:19.08
あるよ
仕様書無しさん [] 2018/04/24(火) 06:04:21.71
だから
リファクタリングなんぞ不要

数年後には業務変化の見直しと現在業務の確認のために、システムをまるごと作り直すから
仕様書無しさん [sage] 2018/04/24(火) 06:15:49.27
出社めんどくせえ
仕様書無しさん [sage] 2018/04/24(火) 08:16:15.86

ダメ管理者はよくそういう妄想に浸りたがるよなあ。
仕様書無しさん [sage] 2018/04/24(火) 08:52:53.82
定期的なリプレースでは使う言語が変わる可能性が結構高い確率である
こまめにリファクタリングしたら大損だよ
仕様書無しさん [sage] 2018/04/24(火) 09:48:46.57

こまめにリファクタリングってことは、リファクタリング後の修正がこまめに発生してるんだから、そこでリファクタリングコストの半分以上は回収できてると思うの
仕様書無しさん [sage] 2018/04/24(火) 11:20:18.41
常に機能追加や改修しているようなソフトウェアであればリファクタリングは有効
一度作ったらあまり改修しないようなソフトウェアであればリファクタリングのデメリットが目立つ

つまり、アマゾンドットコムみたいに常に機能追加や改修が行われる投資対象であればリファクタリングで機動力を確保するのは理にかなってる
逆に家電に代表されるような組み込み系、もしくは制御系のような、機能追加や改修の頻度が低いものであればリファクタリングする意味は相対的に小さい

お金をつぎ込めばつぎ込むほどリターンがあるのであれば、CIの中にリファクタリングを入れてしまえばいいだろう
リファクタリングの結果がすぐに出やすく、デメリットであるリファクタリング起因の不具合についても
改修が多ければ多いほど、リファクタリング起因の不具合減産と相殺されるからだ

リファクタリングの問題でやはり難しいのは改修頻度が低く失敗が許されない分野だ
これらの分野は製造工数とテスト工数の比でいうとテスト工数の割合が大きい
つまり、リファクタリングによって過大なテスト工数が必要となってしまい、リファクタリングのメリットが吹き飛んでしまう
しかしながら動いている箇所はいじらない方針もいつまでも続くわけじゃない
いつかのタイミングで全面リプレースするか、リファクタリング(もはや資料もなく知っている人もいない)を行うことになる
仕様書無しさん [sage] 2018/04/24(火) 12:15:51.10
リファクタリングによって設計が改善されたと思ってるのはやった本人だけとかありがち
仕様書無しさん [] 2018/04/24(火) 13:06:03.44

うちもそうだよ?
課レベルのシステム、部レベルのシステム、社レベルのシステム
があって、それぞれの長が変わったらシステムの仕様変更が最初の長の仕事になってる。
システムの見直しと再設計って、その部署の現在運用を把握するのに最適という理由で。
仕様書無しさん [sage] 2018/04/24(火) 13:34:56.47
それはそのシステムで業務効率化はされてるんか...?
もはやマニュアルってレベルだろそれ
エンジニアしか理解できない仕事のマニュアル。
仕様書無しさん [sage] 2018/04/24(火) 13:49:15.67
まず業務があってシステムを作るべきか ※日本風
システムのあわせて業務を再構築するべきか ※欧米風

どっちがいいんだろうね
仕様書無しさん [] 2018/04/24(火) 14:48:59.76

欧米は、システムに最初から経営方針や業務設計を盛り込んでるだけだよ?
日本と欧米に差はない。
あるのは、システム開発を速攻で内製で仕上げているか否か。
仕様書無しさん [sage] 2018/04/24(火) 15:14:51.24

国内で内製やった7&iホールディングスが大コケしたけど
仕様書無しさん [sage] 2018/04/24(火) 18:11:05.66

セブンミール時代からたまに使ってるけど、たしかに使いづらくなった。
けど、冷静に考えると。今のレベルのシステムを一応作れたなら。元々のシステムも実装できる。

運用方針を新システム化した際に「顧客のニーズ」を取り入れるために店長に聞いたら。
「店長のニーズ」を取り入れちゃったんだろうwww

ただ、「店長のニーズ」も旧システムで現実に起こってる問題の結果で、
さらに、現在、店舗自体が人手不足に陥ってるから配達要員、商品供給ライン等で
旧システムであっても実際には様々な遅延等々があったんだろう。

おそらく、システムの使いづらさの原因は、まさかのアナログな「現場の配達に要する人手不足」だと思うわw
KAC [sage] 2018/04/24(火) 18:20:09.23

本来なら日本風がいいんだけど、
パッケージ売りの欧米風の方が格段に安いから。
仕様書無しさん [sage] 2018/04/24(火) 18:32:53.31
リリース前のコードまで
ガチガチに変更管理してる
現場ってあんの?
仕様書無しさん [sage] 2018/04/24(火) 19:13:54.37

は?折角テスト終わったのに変更すんな
殺すぞ
仕様書無しさん [sage] 2018/04/24(火) 19:16:58.60

は?
ボタン押すだけだろ
KAC [sage] 2018/04/24(火) 19:17:09.86

リリース前も後も管理するのは当たり前
KAC [sage] 2018/04/24(火) 19:19:03.12

お前さんが試験したこと無いのはよく分かった
仕様書無しさん [sage] 2018/04/24(火) 19:22:18.29
ボタン押すだけとか前時代的すぎるwww
今はもうpushするだけの時代だぞ爺さん
仕様書無しさん [sage] 2018/04/24(火) 20:26:27.79

変更中で清書する前のコードならpushしねえよ
仕様書無しさん [sage] 2018/04/24(火) 20:45:57.41

> 常に機能追加や改修しているようなソフトウェアであればリファクタリングは有効
> 一度作ったらあまり改修しないようなソフトウェアであればリファクタリングのデメリットが目立つ

やっぱりまだ勘違いしてる。

リファクタリングが、一度作った後に行うものだと、まだ勘違いしている。

一度目であっても、作ってる最中に、こまめにリファクタリングしていくもの
という考えがどうしても理解できないらしい

それとも詳細設計というものがあって、そこに最初から
すべてのクラス、関数、引数がプライベートのものまで
全部網羅されてるとでもいうのか?
仕様書無しさん [sage] 2018/04/24(火) 20:48:25.79

> 変更中で清書する前のコードならpushしねえよ

書きかけではなく本当に清書?
清書前でも理解しにくいだけで動くが、
理解しやすくために清書するってこと?

ならそれはリファクタリングに相当するね
もちろんちゃんとした手順でやらないといけないが
仕様書無しさん [sage] 2018/04/24(火) 20:49:37.09

> は?折角テスト終わったのに変更すんな

それなら、テストする前にリファクタリングすればいいんだよ
仕様書無しさん [sage] 2018/04/24(火) 20:52:29.27

> リファクタリングによって設計が改善されたと思ってるのはやった本人だけとかありがち

そういうレベルの人たちしかいないなら、
コードメトリクスを測定するツールで客観的に
判断したほうがよいだろう。
仕様書無しさん [sage] 2018/04/24(火) 21:01:28.79

ちゃんとした手順がなにを指してるか知らんが、ファウラーのリファクタ本だとしたら
リリース前のコードに対してあんなまどろっこしいことせんよ
仕様書無しさん [sage] 2018/04/24(火) 21:10:16.77

ツールで測定できるレベル(抽象度的な意味で)じゃ設計の善し悪しは測れないんで
仕様書無しさん [sage] 2018/04/24(火) 21:15:31.28

> リファクタリングの問題でやはり難しいのは改修頻度が低く失敗が許されない分野だ

そういう分野で、循環的複雑度100オーバーの関数1000個のソフトウェアを
修正させたらどんなにテストしていたとしても修正のたびにバグ入れると思うよ。
どうやってこの問題を解決する?

何十回、何百回もテストするかい?それこそ過大なテスト工数だよね。
テストを一回やったらバグが全て見つかり一回の修正で全部直る。
修正後の再テストはバグが見つかった所だけでOK。とか思ってないか?



参考 循環的複雑度は
 50以上でテスト不可能 バグ混入確率70%
 75以上でいかなる変更も誤修正を生む バグ混入確率98%
と言われている。10以下にするのが普通


とここまで書いて思ったが、どんなコードが良いコードなのかわからない人は
実際にダメなコードの複雑度がどれくらいなのか具体的な数値を示さないと
わからないだろうな。どこかにサンプルないだろうか
仕様書無しさん [sage] 2018/04/24(火) 21:16:39.31

> ツールで測定できるレベル(抽象度的な意味で)じゃ設計の善し悪しは測れないんで

だから自分たちで、判断できないレベルの人ばっかりなところだって、
ツールは測定するため物で、ちゃんと測定できますってw

完璧なものはわからないかもしれないけど、少なくともツールで
大きくだめだって言われた所は、マジでだめ
仕様書無しさん [sage] 2018/04/24(火) 21:17:39.58

> リリース前のコードに対してあんなまどろっこしいことせんよ

しないから、エンバグするんでしょ?
仕様書無しさん [sage] 2018/04/24(火) 21:21:24.00

そういうことじゃないです
ツールには文脈がわからないと言っています
コーディングじゃなくて設計の話です
仕様書無しさん [sage] 2018/04/24(火) 21:24:58.14

開発中の話だからエンバグしたっていいんだよ、どうせすぐに検知できるし
開発中のテストと品質のためのテストは目的が違うので
仕様書無しさん [sage] 2018/04/24(火) 21:26:26.40
リファクタリングとかやっちゃうお前らだと、給料っていくらぐらい?
仕様書無しさん [sage] 2018/04/24(火) 21:34:10.80

そうだよ
トップクラスの企業になると詳細設計で全てが完全に定義されててコーディングは規則に従い変換して写すだけ
なのでリファクタリングの出る幕はない
仕様書無しさん [sage] 2018/04/24(火) 21:54:55.03

証拠見せて
仕様書無しさん [sage] 2018/04/24(火) 21:57:22.40
トップクラスの企業ってGoogleとかじゃないの?
仕様書無しさん [sage] 2018/04/24(火) 22:10:14.59
自分の書いたコードが汚すぎて死ぬ
仕様書無しさん [sage] 2018/04/24(火) 22:21:22.68

転職
仕様書無しさん [sage] 2018/04/24(火) 22:23:41.34

今より落ちるのはちょっとw
仕様書無しさん [sage] 2018/04/24(火) 22:40:05.38

(奴隷度)トップクラス
仕様書無しさん [sage] 2018/04/25(水) 00:01:43.85
トップクラスの企業って言葉で連想するのはメーカー子会社の協力企業あたりだな
GoogleやAmazonを表現するのにトップクラスの企業って言葉じゃ足りない
仕様書無しさん [sage] 2018/04/25(水) 00:12:23.85
株式会社トップクラス
仕様書無しさん [sage] 2018/04/25(水) 00:27:05.94
FAMGAは企業を超えたよくわからないシステム
仕様書無しさん [sage] 2018/04/25(水) 01:31:18.64

リリース前のアルファ版未満モック以上版なら、デグレ上等でノリと勢いでガンガン変わってくだろ。
わざわざリファクタリング手順など踏まんで、テスターとペアになって開発した方が良い
仕様書無しさん [sage] 2018/04/25(水) 01:43:42.64

手取り35
仕様書無しさん [sage] 2018/04/25(水) 08:41:32.66
組織と自分の履歴サーバを別けている
日本のリファクタリングあるある
仕様書無しさん [] 2018/04/25(水) 17:33:16.56
人気グループ「TOKIO」の山口達也メンバーが、自宅マンションの部屋で女子高校生に無理やりキスをするなどの行為をしたとして、警視庁は強制わいせつの疑いで書類送検しました。

全文は以下
ttps://www3.nhk.or.jp/news/html/20180425/k10011417181000.html
KAC [sage] 2018/04/25(水) 18:02:35.15

分けるメリットがなんかあるの?
仕様書無しさん [sage] 2018/04/25(水) 18:20:49.80

メリットなんてないよ

PUSHに上司の承認が要る部署とか以外は
仕様書無しさん [sage] 2018/04/25(水) 18:43:41.61
レビューしないのかな?
仕様書無しさん [sage] 2018/04/25(水) 20:35:48.01
ぬおーん
仕様書無しさん [sage] 2018/04/25(水) 22:46:40.90
コード読めないからレビューできないんじゃね?w
仕様書無しさん [sage] 2018/04/25(水) 22:49:39.16
ここで一部の人に衝撃的な事実を言っておきますね。

レビューができるコードっていうのは1関数あたりだいたい10〜20行程度までです。
50行なんて超えたらぜったいにレビューできません。

人の能力の問題じゃなくて、レビューできないコードです。
解析が必要になったら、それはレビューとは言えません。

だから1関数当たり10〜20行になっていなければいけません。
これを超えるものがざらにあるようなプロジェクトは失格です
仕様書無しさん [sage] 2018/04/25(水) 22:54:58.77
10行って引数の多いメソッドの前準備してるだけで終わるレベル
俺は200行程度まで許容範囲
KAC [sage] 2018/04/25(水) 22:57:37.78

レビューできない根拠が
理由にすらなってない訳だが…
仕様書無しさん [sage] 2018/04/25(水) 23:02:01.36
レビューは通過儀礼だから
コードなんて誰も見てない
見てるのは担当者の活舌
仕様書無しさん [sage] 2018/04/25(水) 23:02:22.78
Web業務なら少々長くても大丈夫
帳票とかDBとかでっかい構造体にいっこずつ値入れてるだけだから
長くても込み入ってないことおおい

組み込みとかどうだろう
仕様書無しさん [sage] 2018/04/25(水) 23:03:22.71

許容とかそういうレベルじゃない。
どんだけヘボならそんな長いコードができるんだ?レベルだよ。
これは本当の話


マジレビューできないってw
仕様書無しさん [sage] 2018/04/25(水) 23:03:29.06
関数の行数よりネストの深さとスコープの方が大事
仕様書無しさん [sage] 2018/04/25(水) 23:07:40.35

> コードなんて誰も見てない
だろ?
長いコードは読まない。
レビューできないから


ウェブ系でもありえないな。

ほんとね、一人前のプログラマか、ゴミかどうかは
1関数10〜20が普通って聞いて信じられるかどうかでわかるよ

比較的大規模なウェブアプリの例。みてみろ。コレがレビュー可能なコードってもんだ
ttps://github.com/gitlabhq/gitlabhq/tree/master/app

50行とか超えてるコードばかり見てる人、↑これみれば、
50行なんて長いコードはレビューできないのが当たり前ってわかるよ。
仕様書無しさん [sage] 2018/04/25(水) 23:10:26.57
小さなクラスやメソッドにするのはいいことだけど、適切な命名ができるのが大前提
英語が苦手な奴はデタラメな名前をつけるから余計わかりづらくなる
形だけ小さくして満足してるバカが多い
仕様書無しさん [sage] 2018/04/25(水) 23:12:13.47

それは当然だけど、50行とか平気で超えてるようなコードを書く人たちに
現実ってものを突きつけたいと思ってね。
仕様書無しさん [sage] 2018/04/25(水) 23:16:39.06
どうせ携帯のちっこい画面用だろ
仕様書無しさん [sage] 2018/04/25(水) 23:17:41.01
リファクタリングするとバグがーとか言ってるのは
おそらく50行とか平気で超えてるような所だろう

レベルに大きな差があるから話が通じない。

1関数たったのこれだけしかないから、
この関数が動くかどうかテストするのは簡単なんだ
仕様書無しさん [sage] 2018/04/25(水) 23:23:52.25
ほう
ttps://github.com/gitlabhq/gitlabhq/blob/master/app/helpers/submodule_helper.rb
仕様書無しさん [sage] 2018/04/25(水) 23:25:40.51

それを見つけるまで、何ファイル探したかな?
ものすごくレアだってのがわかるだろう。

長いそれであっても50行は超えていない
仕様書無しさん [sage] 2018/04/25(水) 23:25:41.82
コードの優劣は、そのコードが生み出す経済的価値によって決まる
ただ綺麗なコードより汚くても利益を生むコードの方が価値がある
大して価値のないコードを一生懸命リファクタリングしてる奴には、そんなゴミ捨てて意味のあるコードを書けと言いたいね
仕様書無しさん [sage] 2018/04/25(水) 23:26:50.34
はい、言い訳きたーw
仕様書無しさん [sage] 2018/04/25(水) 23:30:48.77
英検1級レベルに満たない奴はローマ字でコードを書け
仕様書無しさん [sage] 2018/04/25(水) 23:31:01.06
くり返し言うが、俺が言いたいのは、技術力高い所は
本当にこれぐらいのレベルなんだよ、
ありえない話はしていない。その証拠
仕様書無しさん [sage] 2018/04/25(水) 23:31:51.26

そんなに探してない
DBとかHTMLに値入れてるとことか長くなりがちなとこ探したけどなかったんで
helperっていう割とやばめの文字列が目に入ったんで開いたらあった

やっぱり扱うものによる

一番下のやつ50行超えてるぞアウトだアウトだ
ttps://github.com/gitlabhq/gitlabhq/blob/master/app/helpers/application_settings_helper.rb
仕様書無しさん [sage] 2018/04/25(水) 23:32:00.49

他人のふんどし
仕様書無しさん [sage] 2018/04/25(水) 23:32:43.50

そもそもrubyがカス
仕様書無しさん [sage] 2018/04/25(水) 23:33:46.00

今までに何ファイル探した?
少ないのがわかるだろう?
仕様書無しさん [sage] 2018/04/25(水) 23:35:10.56

よくそんなの見つけてくるねw
ただの配列定義だった
仕様書無しさん [sage] 2018/04/25(水) 23:35:35.10

でもよ
それって設計書書くの大変じゃない?
200行のメソッドって10個〜20個になんだろ?
クラス図だって10倍か20倍にデカくなんだぞ
トレードオフの問題ちゃうんか?
たくさん仕事してるようで大半がメソッド名決めてるだけみたいな
仕様書無しさん [sage] 2018/04/25(水) 23:36:38.18

いや、自分も同じレベルだけど、自分のコードは出せないだろう?
オープンソースで参考にできるもの。

あの関数の短さで大規模なエンタープライズ向けの開発ツールが作れる。
そういう事実がそこにある。
仕様書無しさん [sage] 2018/04/25(水) 23:36:38.93

コードが設計書
仕様書無しさん [sage] 2018/04/25(水) 23:37:57.03

> それって設計書書くの大変じゃない?

設計書書くの大変なんだよ?

ようするに設計書はこのぐらいのものを作って
一人前ってことなんだよ。

普段どれだけ適当な仕事しているかってのを
わかってほしい。それだけのレベルの差がある
仕様書無しさん [sage] 2018/04/25(水) 23:38:04.24

1関数100行でも作れるよ
仕様書無しさん [sage] 2018/04/25(水) 23:39:09.20
メソッドの仕様まで設計書に起こす奴って脳死しすぎやろw
仕様書無しさん [sage] 2018/04/25(水) 23:39:47.86
設計書書くの大変かどうかは知らんが
事実としてあのコードは存在する。

あのコードを作るにはどうすればいいかを考えたほうが良い
仕様書無しさん [sage] 2018/04/25(水) 23:40:24.20

そうだな

リファクタする時間をプログラマにくれればいいんじゃないかな?
仕様書無しさん [sage] 2018/04/25(水) 23:41:06.73

作れるかどうかという理論上の話ではなく
実際に作られたシステムが、あれだけ関数の長さが短いという事実
仕様書無しさん [sage] 2018/04/25(水) 23:41:39.80

その分、設計してる人の時間をとるんだろ?
仕様書無しさん [sage] 2018/04/25(水) 23:42:57.70

役に立たない設計書を書いてるような
やつに時間はいらない
仕様書無しさん [sage] 2018/04/25(水) 23:43:22.49

コードの奇麗さが価値なら
客からリファクタ用の時間をたっぷりふんだくれるはず
仕様書無しさん [sage] 2018/04/25(水) 23:47:04.45

別にいらんよ。コードが綺麗なら
同じ時間でより多くのものが作れる。

言い換えると技術力が高ければ、
同じ時間でより多くのものが作れる
という当たり前の話だ
仕様書無しさん [sage] 2018/04/25(水) 23:48:23.93
ってなんか発想がおかしくね?
客から作業代をどうやってむしり取ろうかって発想になってる。
仕様書無しさん [sage] 2018/04/25(水) 23:49:15.19

Jenkinsは至るところで使われてるけど50行以上のメソッドなんていくらでもある事実
仕様書無しさん [sage] 2018/04/25(水) 23:54:21.44

これ? なかなか見つからなくて苦労している
ttps://github.com/jenkinsci/jenkins/tree/master/core/src/main/java/jenkins/model
仕様書無しさん [sage] 2018/04/25(水) 23:55:28.95
まあJavaだしね。
仕様書無しさん [sage] 2018/04/25(水) 23:57:50.39
Rubyは結構変な構文で圧縮してる
仕様書無しさん [sage] 2018/04/26(木) 00:03:21.92

原点回帰が必要だよお前
人間が見てわかりやすい範囲を明らかに逸脱してるだろ
概算で役に立たない
2000行規模のコードでメソッド200個近く作るんだろ
どうやって表現すんの?お前
なんもドキュメント作らない前提じゃないと成り立たない

つっかえねーw
仕様書無しさん [sage] 2018/04/26(木) 00:05:16.32
われながら途中で投げ出してわかるからと適当に書いた設計書がやばい
自分はわかるがテスターが
どうしよ
仕様書無しさん [sage] 2018/04/26(木) 00:11:00.24

当たり前とはつまり自分の思い込みで根拠がないことを指す

このコードだって最初からきれいに書いてちゃっちゃと作ったのか
時間をかけてレビューして整頓したのかどうかなんてわかんないじゃん
仕様書無しさん [sage] 2018/04/26(木) 00:17:32.88

> 2000行規模のコードでメソッド200個近く作るんだろ
> どうやって表現すんの?お前

でもさ、コードでは実際にそう表現されてるよ?
そこの矛盾に、君が気づかないといけない
仕様書無しさん [sage] 2018/04/26(木) 00:20:48.44
面白いのを見つけてきた

【読者参加型企画】2,000行のJavaソースコードを読むのに何分かかりますか?
ttps://codezine.jp/article/detail/4388

コードレビュー速度 (1時間あたり)

IEEE: IEEE Standard for Software Reviews and Audits(1028-2008) によると
100〜200行(Technical reviews)らしい。

つまり2000行だと10〜20時間、1日〜3日、コードレビューにかかる

いいですか?
2000行にかかるコードレビューの時間です。
仕様書無しさん [sage] 2018/04/26(木) 00:32:42.36
ttps://gigazine.net/news/20150918-google-2billion-code/

> 2015年1月時点で、総ファイル数は10億、ソースファイルの数は900万、
> コードは20億行あり、3500万回のコミットがあって、内容は86TBあるとのこと。
> そして、営業日1日に対してのコミット回数は4万5000回。

1ファイルの平均は20億÷900万=222行でした。
2000行規模なら10ファイル程度

俺は妥当なところだねと思うが、
そう思わない人がいる。

そこにレベルの差を感じる
仕様書無しさん [sage] 2018/04/26(木) 00:34:49.47
トレードオフって言葉を覚えた方がいいよ
この機能を実現するために必要な処理は何?
って聞かれても何も答えられないっしょ?
さらにドキュメントを書かせる現場で君は役に立たない
たった2000行程度で200個もメソッド作るようなカスはどこ行っても
使えねーからオープンソースでも
組んでろよ
仕様書無しさん [sage] 2018/04/26(木) 00:44:22.87
> この機能を実現するために必要な処理は何?
> って聞かれても何も答えられないっしょ?

「この機能」って?
この機能だけで見積もりできるの?設計できるの?
仕様書無しさん [sage] 2018/04/26(木) 00:45:19.30

で、なにが言いたいの?
スレの流れは関数の長さとそのレビューにかかる時間だったけど、その引用のレビュー時間は
関数の長さとどう関係があんの?
まさか、2000行のコードっていうのを、2000行のひとつの関係って解釈した?
仕様書無しさん [sage] 2018/04/26(木) 00:46:39.82

2000行なら100メソッドだろ?
何勝手に水増ししてんだw

普通に作れば100個のメソッドなんて普通にできる
1関数10〜20行にしないとテスト不可能
テスト可能にするとだいたいコレぐらいになる。

そこから逆算すれば100個のメソッドは
普通に作ればできる

トレードオフの話をするのであれば、
トレードオフした結果が100個だ


って、やっぱりマジ1関数10〜20なんてありえない
50行超えるのがザラなの? レベルに大きな差があるよ。
自覚だけはしておこう
仕様書無しさん [sage] 2018/04/26(木) 00:49:24.26
トレードオフって何と何のトレードオフなんだろう?

最初から短い関数で書けばいいと思うけど、
関数を長くすることで、何のメリットがあるの?
仕様書無しさん [sage] 2018/04/26(木) 00:49:29.64

そもそもテクニカルレビューってなに?
どういう目的でどういうレビューをしてるかによってかかる時間はいくらでも変わると思うけど、
テクニカルレビューがなんなのかわからないから10〜20時間が長いのか短いのか評価できないんだけど
仕様書無しさん [sage] 2018/04/26(木) 00:51:12.51
ふつうだのレベルだの漠然としたことしか言わんやっちゃ
仕様書無しさん [sage] 2018/04/26(木) 00:51:43.19
例えばプロだと間違えずにキーを打つことが高速にできる。

だけど素人だと間違えずにキーを打たなければいけないという
条件をつけると途端にタイプするのが遅くなる。

それと一緒でプロだと普通に作っても関数は10〜20行にできるが
そうでない素人だと頑張らないと達成できない

そう、素人
仕様書無しさん [sage] 2018/04/26(木) 00:52:05.80

リンク先読めば?
仕様書無しさん [sage] 2018/04/26(木) 00:57:05.65

わかんないままドヤ顔で引用しちゃったんだな
仕様書無しさん [sage] 2018/04/26(木) 01:00:43.49
技術的難易度が低いただのCRUDアプリみたいなものしか作れない人は、いかに綺麗にコードを書くかとか
そういう話題でしか技術っぽい話ができないから、ここぞとばかりに語るよな
仕様書無しさん [sage] 2018/04/26(木) 01:00:54.12

それって20行換算じゃん
最大行で見積もるなんて心苦しいから10行にしてやったんじゃん

2000行でメソッドが200個できて
20000行で2000個だ
100000行で10000個じゃん

この間やったプロジェクトのコードがそんなもんだったけど
メソッド10000個とか明らかに
茶碗が小さすぎる
おちょこに飯もってるみたいにアンバランスだろ
仕様書無しさん [sage] 2018/04/26(木) 01:04:35.27

> わかんないままドヤ顔で引用しちゃったんだな
いや、普通にリンク貼ってるじゃん?
仕様書無しさん [sage] 2018/04/26(木) 01:06:27.50

> この間やったプロジェクトのコードがそんなもんだったけど

お? ちょうどいいやん。
何ファイルで何クラスで何行ぐらい?
仕様書無しさん [sage] 2018/04/26(木) 01:10:21.07

いいや、コードは100000行でメソッド数は2000ってとこだね
10000とかドキュメント工数単純に5倍になんじゃねーか?
仕様書無しさん [sage] 2018/04/26(木) 01:14:29.41
そもそも設計書からしてそんなに大量のメソッド作成するように書いてるのか?
設計書に書いた処理とソースの処理を一致させないと説明が面倒だろ
仕様書無しさん [sage] 2018/04/26(木) 01:15:20.39

> 100000行で10000個じゃん
数を大きくして、多く見せたいようだけど無駄w

10万行だろ? 1ファイル(=1クラス相当)が200行ぐらいなので
500個もファイルがある。メソッド1万個は1ファイル(クラス)20個のメソッド
これは普通の規模だ

そもそもお前、ちゃんとモジュール化できてないだろ?
役割ごとにちゃんとファイル(クラス)分けろ
仕様書無しさん [sage] 2018/04/26(木) 01:17:14.11

> そもそも設計書からしてそんなに大量のメソッド作成するように書いてるのか?

実際にコードはそれぐらいになるんだから、
それに相当するメソッドは誰が作り出してるかってことだよ。

設計書にこの程度の数のメソッドが書いてないなら、
その設計書通りに作ると破綻するということを意味する

きちんとレビューしてテストするためには、
実際にそれだけの小ささのメソッドでなければいけないのだからね
仕様書無しさん [sage] 2018/04/26(木) 01:25:34.92
実際にコードを書いてる人は、これぐらいの数の関数は作ってるんだよね。

それにたいして、こんなに大量の関数なんて設計できない。
予め想定することなんてできない

っていうのなら、そういうことだよ。
お前らがやってる設計とやらの仕事は、
現場には通用しない仕事だということ

Sヨとか言われてバカにされてるじゃん。
それが事実だってことだよ。
仕様書無しさん [sage] 2018/04/26(木) 01:39:49.55
さてリファクタリングの話に戻すぞ?

これが実際の優れた開発の現場だから、最初に全部設計して
最初に考えた関数だけで作るなんて不可能なわけさ
関数の数が多すぎる!って叫んでるアイツ見りゃわかるだろ?

でも実際のコードはそれだけの数の関数がある
この差をどうやって埋めるよ?

最初は設計に書いたとおりの形から始める
実装が進んで次第にコードが膨れ上がっていく
テストできなくなってしまうから、再設計が必要
といっても大きなものじゃない。こまめにやる。

これが開発の中に自然に含まれているリファクタリングだ。
リファクタリングは開発に含まれるもので
別の作業として分離してやるもんじゃない。
仕様書無しさん [sage] 2018/04/26(木) 02:27:16.80
糞コードいつか破綻するのはわかってるのに
そのまま売りまっくて最終的には極悪に肥大したクソコードのリファクタリングしろという
まずその事実を知っていて売り続けた開発部長やら上層の誰かに責任取らせろやハゲが
仕様書無しさん [sage] 2018/04/26(木) 03:03:40.58

リファクタリングは「改修」に含まれるものっていう主張はやめたんだねw
視野が狭かったことに気づいてくれて嬉しいよ
仕様書無しさん [sage] 2018/04/26(木) 03:26:26.13
ん?やめてないよ。開発の中に改修は含まれている
改修をしない開発会社なんてないんだから
仕様書無しさん [sage] 2018/04/26(木) 03:26:52.94
はいはいw
仕様書無しさん [sage] 2018/04/26(木) 05:13:46.24

ソースレベルの設計書なんて書くわけないやろ
仕様書無しさん [sage] 2018/04/26(木) 09:34:52.67
ソースレベルの設計書とか言ってる奴はまだマ歴1ヶ月なんだから優しくしてやれ
仕様書無しさん [sage] 2018/04/26(木) 09:51:20.89
つまり

1. テスト可能なメソッドは十分短いものである
2. 設計でそれらを全て洗い出すのは無理

ってことなんだよね

これは重要な大前提では?
仕様書無しさん [sage] 2018/04/26(木) 09:52:44.36

世の中には、設計で洗い出した関数しか作らない
作れないプロジェクトがあるらしい

そういうプロジェクトが破綻するのは目に見えてる
仕様書無しさん [sage] 2018/04/26(木) 10:30:15.01
ソースレベルの設計書ってなに?詳細設計よりもっと細かいやつ?
アセンブラ時代のフローチャートはほぼソースとイコールだったけど
仕様書無しさん [sage] 2018/04/26(木) 12:27:07.55

それくらいで破綻しないよ、昔の人の多くはそれでやってたんだから
破綻するなんてのは、誰にでもできるがゆえに参入障壁が低く競争過多な世界で納期に追われてる奴の発想笑
仕様書無しさん [sage] 2018/04/26(木) 12:31:16.98
破綻はしないが非効率的すぎるわな
仕様書無しさん [sage] 2018/04/26(木) 12:57:21.34
設計で関数を洗い出すのはいいんじゃねーの?
ソースは完全にプログラマに任せるスタイルなのか、ある程度は監視するスタイルなのかの差だと思うよ
個人の技量に任せたら関数の切り出しするやつとしないやつで差がですぎてソースが混乱する
仕様書無しさん [sage] 2018/04/26(木) 15:10:37.16
そこまで細かく詰めるならその場でコードまで書いてコンパイルと簡単なユニットテスト通しちゃえよ
少なくともインターフェースとスタブは書けるだろ
仕様書無しさん [sage] 2018/04/26(木) 17:56:23.04

それをやることになんの意味が?
仕様書無しさん [sage] 2018/04/26(木) 18:26:57.92

無駄な工数を省いた上に戻りも減らせる
KAC [sage] 2018/04/26(木) 20:18:39.67

コードを書かなきゃ必要な関数を洗い出すこともできないのは最近の風潮だよな

大規模なチームで設計するときにも、
各自が関数洗い出したのを持ちよって全体最適化とかしてないだろ?

普及している手法にはメリットやデメリットがあるのは当たり前
色々な開発手法知らないと最善策見つけられんだろ
仕様書無しさん [sage] 2018/04/26(木) 21:06:08.65
昔に比べりゃ関数作るのはアホみたいに簡単になった
CollectionやらThreadやらStringやら
大体コアになるもんはありものが揃ってるし
仕様書無しさん [sage] 2018/04/26(木) 21:57:25.51
設計書ってパンチカード時代の名残だぞ
そんなものを未だに盲信してるなんて滑稽だ
仕様書無しさん [] 2018/04/26(木) 22:34:16.48
デシジョンテーブルは書くやろ?
仕様書無しさん [sage] 2018/04/26(木) 22:43:24.25

そうやってすぐコード以外のなにかに逃げようとすんなよSEさんよ
仕様書無しさん [sage] 2018/04/26(木) 22:52:07.11
そらDBからデータを取り出してブラウザに返すだけのアプリに設計書なんていらんわな
仕様書無しさん [sage] 2018/04/26(木) 22:59:08.51
二人以上で作業するなら電卓アプリでも設計書いるわ
仕様書無しさん [sage] 2018/04/26(木) 23:20:45.92

メモリからデータを取り出して画面に表示するだけのアプリばかりでは?
仕様書無しさん [sage] 2018/04/26(木) 23:44:04.93
DBからデータを取り出してブラウザに返す仕事なんて、専門教育を受けてない文系でもこなしてるという事実
仕様書無しさん [sage] 2018/04/26(木) 23:45:51.71
リファクタリングの話が盛り上がるのは、文系でも参加できるから
仕様書無しさん [sage] 2018/04/26(木) 23:52:49.47
文系が参加って、技術的な話での参加じゃないじゃんw
仕様書無しさん [sage] 2018/04/26(木) 23:57:54.18

宇宙ロケットのネジだって高卒が締めてるにちがいない
そんな理屈で仕事の難しさがわかるものか
仕様書無しさん [sage] 2018/04/27(金) 06:18:08.07
設計書なんてコードから生成するもんだろが
仕様書無しさん [sage] 2018/04/27(金) 07:15:01.31

そのコードを最初に、どうやって書く訳?
仕様書無しさん [sage] 2018/04/27(金) 07:24:26.55
エディタ開いてタイプしろよ
そんなことも言われなきゃわからん?
仕様書無しさん [sage] 2018/04/27(金) 12:13:18.45

お子ちゃま?
仕様書無しさん [sage] 2018/04/27(金) 21:44:36.77

それ辿るとBIOSまで行くぞいいのか
仕様書無しさん [sage] 2018/04/27(金) 21:54:27.71
すでに存在するものまで遡らなくていい
仕様書無しさん [sage] 2018/04/27(金) 21:57:24.49
リファクタできない無能には9連休なんてないんだろうなww
仕様書無しさん [sage] 2018/04/27(金) 22:13:06.31
明日からリファクタリングのために9連勤です
この工数がなければ休めたのに
仕様書無しさん [sage] 2018/04/27(金) 22:20:26.31
ほらな。なんどもリファクタリング単体の作業は間違ってる。
ふつうの開発(改修含む)に含まれているものだ。
と言ってるのに、やっぱり理解できていない
完全に間違いが身にしみてるんだろうな
仕様書無しさん [sage] 2018/04/27(金) 22:50:04.81
すでに運用中のシステムの保守開発に途中参画して、リファクタリング単体の仕事をやることもありますね。
視野が狭い方には思いもよらないでしょうけど。
仕様書無しさん [sage] 2018/04/28(土) 00:55:26.89

howだけじゃなく、why for why考えれるかが分岐点。
仕様書無しさん [sage] 2018/04/28(土) 01:04:45.94
なんで?
KAC [sage] 2018/04/28(土) 01:49:53.92

お前さん、純粋なリファクタリングやったこと無いのな。
どおりで作業量とかリスクとか全く理解していない訳だ。
仕様書無しさん [sage] 2018/04/28(土) 02:04:59.74
純粋なリファクタリング(笑)

どこ出典ですかねそれ
お前の最強の純粋なリファクタリングみしてみろよw
KAC [sage] 2018/04/28(土) 02:37:47.95

お前は「リファクタリングを改修と併せてやる」事しか知らないんだろ?
「リファクタリングのみ」の評価知らないのに正しく評価できないだろ。
仕様書無しさん [sage] 2018/04/28(土) 02:41:55.96
だからどんなもんか試しにみしてみろって言われてんじゃん
仕様書無しさん [sage] 2018/04/28(土) 04:13:15.29

宇宙誕生まで調べるだろフツー
仕様書無しさん [sage] 2018/04/28(土) 07:14:45.24
改修準備
調査分析
自動テスト作成
負債返済
利便性向上

少なくともこの5種のリファクタリングを日常的に行う
改修前のリファクタリングしか知らないならまだまだだね
仕様書無しさん [sage] 2018/04/28(土) 07:16:05.03
改修前のリファクタリングは純粋なリファクタリングなんだが爺さんにはわからないかな
仕様書無しさん [sage] 2018/04/28(土) 13:16:55.76
機能追加とかデバッグの時に
リファクタリングしちゃだめよ
仕様書無しさん [sage] 2018/04/28(土) 13:25:13.25
帽子をかぶりなおす
仕様書無しさん [sage] 2018/04/28(土) 13:27:23.72
ヅラ
仕様書無しさん [sage] 2018/04/28(土) 16:36:26.14
事実の再構築、それが本来の純粋なリファクタ

たとえばガス室はなかったとか
強制連行でなく移民だとか
そういうことを言うとリファクタだと侮蔑的レッテルを張られ非難された

あんまり面倒なのでえらい人が別の意味で単語を上書きすることにした

そのあおりをくらってIT従事者は楽しいが不毛な作業に邁進している
仕様書無しさん [sage] 2018/04/28(土) 16:41:21.19
KAIZAN活動やってたぜ
仕様書無しさん [sage] 2018/04/30(月) 00:19:13.47
少し話が変わるが、実装と単体テス
ト(自動化)って同時に行って、工数も含めるよな?
自動化するのに別途工数くださいって言われるんだが・・・
こっちとしてはバッファ含んでも余裕ある日数でお願いしているのに
工数が無いって言うくせに遅刻は半分くらいするし、たばこプカプカで手を動かさない
首切りたい。
仕様書無しさん [sage] 2018/04/30(月) 00:29:57.65
現場のマネジメント次第でしょ
それどうするか決めるのおまえの仕事じゃねーか

そいつは工数が必要だって言ってるんだからいるんだろ
いくらコーディングだけなら余裕のある日数っつったって
最初お前の頭になかったんなら、全体的な工数がどうなるかは見直すしかない

行けるはずだから頑張れっていうかちょっと工数伸ばすか管理見直すか決断しろ
おまえがやるべきことだ
仕様書無しさん [sage] 2018/04/30(月) 00:30:23.53

契約ではどうなっているの?
請負の成果物になければんなもんつくんねーよ
仕様書無しさん [sage] 2018/04/30(月) 00:45:24.35
ちなみに自分とこの現場の経験でいうと
単体テスト仕様書はコーディングの1.5倍、
ユニットテストは3倍ぐらい工数かかります

ご愁傷様
仕様書無しさん [sage] 2018/04/30(月) 06:17:53.95
そんな3倍もかからんよ
せいぜい5割り増し程度
自動テスト書くとエビ撮りはもちろん実験やデバッグが爆速になるから総合するとむしろ工数が減る
仕様書無しさん [sage] 2018/04/30(月) 07:27:48.52
でもな
その仕様じゃ動かんのよ
仕様書無しさん [] 2018/04/30(月) 08:34:15.52

まあキチンとやってればそんなもんだね。
ただし、禄に設計されてない(抜け漏れ、重複、矛盾多数)プロジェクトだと、テスト時に発覚ーーー>設計修正工数認めない!ーーー>テストケースが歪なのを何とかしようと無駄な作業、で数倍に膨らんだりするが。
仕様書無しさん [sage] 2018/04/30(月) 08:38:37.95

それテストじゃなくて別の問題だよね
仕様書無しさん [sage] 2018/04/30(月) 08:42:49.78

テストしっかり書いたから抜け漏れに気が付いた
気がついてよかったじゃん
悪いのは静的解析もテストもしないで設計して抜け漏れ発生させた設計チームだろ?
だから設計書は役立たずのゴミなんだよな
仕様書無しさん [sage] 2018/04/30(月) 09:32:29.73
>こっちとしてはバッファ含んでも余裕ある日数でお願いしているのに

この言い草にやばいSEのにおいがしてトラウマが刺激された

自分の作業の考慮抜けを無視したり、いらない仕事山ほど詰め込んだ挙句に結果工期伸びてるのに
この認識を修正できずに
「案だけ余裕あったのに何で間に合わないの?」みたいなこと言ってくる奴の多いこと…
仕様書無しさん [sage] 2018/04/30(月) 10:28:50.80
まだ人月とか信じてる奴いるんだね
仕様書無しさん [sage] 2018/04/30(月) 11:12:10.98
バカ10人の首切ってスーパープログラマを1人雇ったほうが生産性高い
仕様書無しさん [sage] 2018/04/30(月) 11:17:42.25
バカ10人集めたらできるような仕事の生産性をちょぴりあげるために
スーパープログラマを投入されてたまるか
仕様書無しさん [sage] 2018/04/30(月) 11:29:56.67
カスみたいなCRUDを高速で量産するスーパープログラマとはw
仕様書無しさん [sage] 2018/04/30(月) 11:31:28.59
スーパープログラマにカスPGの仕事をやらせたらめんどくさがって自動化しちゃうから実質10倍どころじゃない
万倍以上の差が出る
仕様書無しさん [sage] 2018/04/30(月) 12:05:57.16

500人月を1人日か
そんな事例知らないくせに、ぼくのかんがえたさいちょうのすーぱーぷろぐらま語ってドヤるとかリアル中学生かよ
仕様書無しさん [] 2018/04/30(月) 12:10:21.19
まあでも俺がクソプログラムを100量産してる間に10リファクタリングしたとこで意味をなさないんだがなw
仕様書無しさん [sage] 2018/04/30(月) 12:17:18.95
そのクソプログラム100個相当のものを
プログラム10個で作り上げるのがスーパープログラマ
当然リファクタリングした結果もこうなる
仕様書無しさん [] 2018/04/30(月) 12:18:09.57
そして文の意味を理解できないアホが俺様リファクタリングしてむちゃくちゃにして動かなくするとw
仕様書無しさん [sage] 2018/04/30(月) 12:20:25.30
お前らが100000人いてもlinuxは作れなかった
つまりそういうこと
仕様書無しさん [sage] 2018/04/30(月) 12:23:04.24
作れるのでは?
仕様書無しさん [sage] 2018/04/30(月) 13:13:20.41
作る以前に、思いつかなかった
それが重要だ
仕様書無しさん [sage] 2018/04/30(月) 13:58:00.43
付加価値ゼロのコードを
何万行書こうとも
付加価値ゼロだからね
仕様書無しさん [sage] 2018/04/30(月) 14:08:24.19
汚いコードは価値で言えばマイナス
仕様書無しさん [sage] 2018/04/30(月) 15:28:00.84

単価安いのを10人集めれば出来る!
↑ダメ管理者が陥りがちな妄想の典型。
仕様書無しさん [sage] 2018/04/30(月) 16:04:59.12
できなかった場合:奴隷がバカすぎるので金出さない
できた場合:こんなバカでもできる仕事に金出さない

奴隷がバカだから金出さないのは大前提
仕様書無しさん [] 2018/04/30(月) 19:09:11.03

おまえも単価安い十天王の一角やんか
仕様書無しさん [sage] 2018/04/30(月) 19:15:18.91
お前ら自分のことは棚にあげてるけど、スーパープログラマから見たらバカとお前らのレベル差なんて誤差みたいなもんやろ
仕様書無しさん [] 2018/04/30(月) 19:27:55.44
誤差ちゃうわw
クッキリとバカやでおまえらなんかw
仕様書無しさん [sage] 2018/04/30(月) 19:36:10.50

だったら高いほうに合わせて金よこせ
馬鹿に合わせて全員の給料下げようとするんじゃねえ

ふざけんな畜生
仕様書無しさん [sage] 2018/04/30(月) 19:52:13.54
給与が低いと思ったらサボる
プロジェクトが失敗したって高い給与貰ってるPMさんが責任取ってくれる
プログラマみんなでこれを徹底する
これしかないんだよいい加減理解しろよ
仕様書無しさん [sage] 2018/04/30(月) 19:52:36.84
自称スーパープログラマーこんな所にるんだ
仕様書無しさん [sage] 2018/04/30(月) 20:09:40.59

すぐ論点ずらしに走るのもダメ管理者の特徴。
まあ本人は上手いこと言ってやっだニダwとか思ってるのが痛いけど。
仕様書無しさん [] 2018/04/30(月) 20:15:53.56

どまんなかの直球やぞ?マジにずれて見えるんか?
打たれすぎて脳ミソ液状化しとるやんおまえw
仕様書無しさん [sage] 2018/04/30(月) 20:34:48.35

成果に見合った代価を得るのもスキルだぞ
プログラミングがろくにできない奴がバカプログラマだとしたら、金の話ができないのはバカリーマンww
仕様書無しさん [sage] 2018/04/30(月) 20:59:59.71
年収300万の人間に何を期待しているんだ?
適当にやらせていただきます
仕様書無しさん [] 2018/04/30(月) 21:02:36.56
まあ実際には何も期待されてない
ただの作業員だわな
仕様書無しさん [sage] 2018/04/30(月) 21:21:26.19
そうそう
適当でいいんだよ
上が全部責任取ってくれる
仕様書無しさん [sage] 2018/04/30(月) 21:30:28.84
二日で終わる仕事を一週間かけるのはデフォ
仕様書無しさん [sage] 2018/04/30(月) 21:34:35.72

すぐファビョるのもダメ管理者の特徴だな。
仕様書無しさん [sage] 2018/04/30(月) 23:39:07.39
ttps://gigazine.net/news/20150603-how-critical-software-tested/

だってさ
スーパープログラマなんていらなかったんや
仕様書無しさん [sage] 2018/04/30(月) 23:48:16.67
ロケット制御みたいな枯れた分野では予測可能性が重要で創造性は必要が無いってことね
仕様書無しさん [sage] 2018/05/01(火) 00:24:51.63
自分の嗜好と現実がぶつかったら現実のほうを否定するタイプだな
仕様書無しさん [sage] 2018/05/01(火) 00:29:43.04
          \   r'´ ̄ ̄ ̄    ̄ ̄ ̄`、::.   ___
   l} 、::       \ヘ,___,_ ______/::.__|    .|___________
   |l  \::      | |             |、:..  |[], _ .|:[ニ]:::::
   |l'-,、イ\:   | |    ∧,,,∧ .   |::..   ヘ ̄ ̄,/:::(__)::
   |l  ´ヽ,ノ:   | |   (´・ω・`)    ,l、:::     ̄ ̄::::::::::::::::
   |l    | :|    | |,r'",´ ̄ ̄ ̄ ̄ ̄`ヽ、l:::::
   |l.,\\| :|    | ,'        :::::...  ..::ll::::    そうだ
   |l    | :|    | |         :::::::... . .:::|l::::   これは夢なんだ
   |l__,,| :|    | |         ::::....  ..:::|l::::    ぼくは今、夢を見ているんだ
   |l ̄`~~| :|    | |             |l::::   目が覚めたとき、
   |l    | :|    | |             |l::::   ぼくはまだ12歳
   |l    | :|    | |   ''"´         |l::::   起きたらラジオ体操に行って、
   |l \\[]:|    | |              |l::::   朝ご飯を食べて、涼しい午前中にスイカを食べながら宿題して、
   |l   ィ'´~ヽ  | |           ``'   |l::::   午後から友達とプールにいっておもいっきり遊ぶんだ・・・
   |l-''´ヽ,/::   | |   ''"´         |l::::   
   |l  /::      | \,'´____..:::::::::::::::_`l__,イ::::
仕様書無しさん [sage] 2018/05/01(火) 00:33:25.55
異世界に転生して洋食屋に行きたい
仕様書無しさん [sage] 2018/05/01(火) 01:05:01.27
戻りたいと思えるような過去すらない
何もかも足りなすぎる
仕様書無しさん [sage] 2018/05/01(火) 11:24:21.67
三歳児は何もないのに楽しそうだよ
仕様書無しさん [sage] 2018/05/01(火) 11:41:22.97
はあああああ
人類滅びねえかな
仕様書無しさん [sage] 2018/05/01(火) 13:16:25.14

何故、枯れた分野だと?
仕様書無しさん [sage] 2018/05/01(火) 17:07:58.55
テストなんて不要だ
不具合はすぐにユーザーが見つけてくれる
新しい価値の想像、そしてスピード感こそすべて
仕様書無しさん [sage] 2018/05/01(火) 17:16:31.18
トイレでケツを拭く時間も無駄だとか言いそうなヤツですね
実際拭いてないとかいそうで困る
仕様書無しさん [sage] 2018/05/01(火) 22:19:55.22
トイレにいく時間も無駄
仕様書無しさん [sage] 2018/05/01(火) 22:47:05.99

確かにお前さんのは想像だけみたいだな。
仕様書無しさん [sage] 2018/05/02(水) 16:05:14.33

MSさん毎月毎月止めてください
仕様書無しさん [sage] 2018/05/06(日) 21:12:14.93
トイレと書斎を融合すれば座りっぱなしでいいからケツ拭かなくても無問題
仕様書無しさん [sage] 2018/05/08(火) 20:29:09.78
MSって2005年にvs無償化したのを最後に、何も革新的なもの打ち出せてないよね。
仕様書無しさん [sage] 2018/05/08(火) 20:34:33.22
それは単にお前が革新的だと認めたくないだけじゃないの?
仕様書無しさん [sage] 2018/05/08(火) 21:20:16.03
俺のパソコン買ったはずなのに
実際にはマイクロソフトが好きなようにいじくりまわす
仕様書無しさん [sage] 2018/05/08(火) 21:28:59.63
C#ほど攻守において高い次元でバランスのとれた言語は他に存在しない
仕様書無しさん [sage] 2018/05/08(火) 23:13:03.66

おじいちゃんこんにちは
仕様書無しさん [sage] 2018/05/09(水) 01:19:15.28
まったまった、マジでMSが最前線を開拓した技術やサービスって、成功したのは割とないやろ
基本成功したやつをパクって金と物量でシェアもぎ取る感じやん
仕様書無しさん [sage] 2018/05/09(水) 02:46:20.20
まだM$とか言ってるジジイ生きてんの
仕様書無しさん [sage] 2018/05/09(水) 02:54:34.82

お前の言う最前線ってなんだ?
成功したもの=最前線じゃないんだが?

どうせアップル信者だろうからそれで例えると
MacやiPhoneに最前線のものなど存在しない
どんなものでも成功できなかった最前線が別にある
仕様書無しさん [] 2018/05/09(水) 12:14:43.48
最前線なのに過去形とゆう矛盾wバカw
仕様書無しさん [sage] 2018/05/09(水) 13:30:14.38
最前線が軒並み失敗ってことだろ
仕様書無しさん [sage] 2018/05/09(水) 15:53:49.25
最前線である事は
十分条件であるが
必要条件ではない
仕様書無しさん [sage] 2018/05/09(水) 15:56:42.93
焦点は最前線をパクったのは誰かってことだろう?
仕様書無しさん [sage] 2018/05/10(木) 07:35:15.76
タダでOSを配りつづける見返りに
相手のコンピューターを実質自分のものにして
個人情報を収集して国家に横流しし
見返りに便宜を図ってもらうことで会社が存続する

先鋭的ビジネスモデルの開発に成功した
仕様書無しさん [sage] 2018/05/10(木) 07:55:02.71
あ、はい、スマホですね
仕様書無しさん [sage] 2018/05/10(木) 11:10:17.56

サーフェス
アジュール
ウィンドウズモバイル
マウス復刻
Xbox
Windows10
TypeScript
VScode
VSのターゲットOS拡大
オフィス製品の料金体系
オフィスオンライン
SQLServerがいい感じになってきた

ほら、いろいろやってるじゃん
仕様書無しさん [sage] 2018/05/10(木) 11:12:31.49

程度問題でもあるけど
アップルやグーグルもほとんどそうだぞ
自動運転だって1970年代には日本は研究はじめてるし
仕様書無しさん [sage] 2018/05/11(金) 00:03:49.96
クール

革新的かつ成功
typescript

革新的だが失敗
Surface→肝心のRTは失敗
Windowsモバイル→何故か失敗

成功したが、フォロアーとか競合とか繋いだだけ
Xbox
VSCode
VSターゲットOS(cordova、Xcode連携)
office365
office onlime

革新的でもなく、失敗
VSターゲットOS(xamarin系)

ダサい

SQLserver、officeの料金体系とマウス復刻はわからん。なんの話題だろう
仕様書無しさん [sage] 2018/05/11(金) 00:10:59.36
なんだかんだ言ってVisual Studioは一番快適なIDEでしょ
仕様書無しさん [sage] 2018/05/11(金) 00:15:38.04
VScodeは神(拡張にもない機能は他エディタと併用)
VS2017もUnityをC#でやるなら神
それは否定しようがない
仕様書無しさん [sage] 2018/05/11(金) 00:36:33.78

IntelliJは英語わかんないガイジにはきついもんな
仕様書無しさん [sage] 2018/05/11(金) 01:07:44.54

Android開発するときは使ってるよ
その上でVisual Studioの方が優れてると思うね
仕様書無しさん [sage] 2018/05/12(土) 00:25:57.46
IntelliJの良さがわからない
VScodeもVSに比べたらカス
スペック低いだけじゃないの?
仕様書無しさん [sage] 2018/05/12(土) 09:34:52.77
VSCodeはエディタと他システムが疎結合であるという点が本家VSより優れている
OSSのようにマルチプラットフォームで作業したい場合
Web系のように多彩な外部ツールを柔軟に組み合わせたい場合
そういう時には本家VSというかall-in-oneが基本のIDEは不便なんだよね
仕様書無しさん [sage] 2018/05/12(土) 09:46:45.36

VSCodeはエディタやろ
IDEと同じ土俵で比べなすなw
仕様書無しさん [sage] 2018/05/12(土) 10:04:47.70
オブジェクト指向的で良いよなVSCode

class VSCode : ITextEditor
class Git : IVersionControlSystem
class CakeBuild : IBuildSystem

class VisualStudio : IGodDevSystem

だいたいこんなイメージ
仕様書無しさん [sage] 2018/05/12(土) 10:44:59.96

使いようによってはIDEみたいなもんだろ
仕様書無しさん [sage] 2018/05/12(土) 10:50:18.06
関数名や変数名を単なる文字列置換じゃなく構文に沿って書き換えてくれる機能は超便利だよな。
仕様書無しさん [sage] 2018/05/12(土) 10:51:55.06

違うよ
仕様書無しさん [] 2018/05/12(土) 11:53:23.76
codeはバカ向けのvsやしな
好きな奴が多いのもわかるw
仕様書無しさん [sage] 2018/05/12(土) 11:59:14.37

確かにVSの代わりとして使おうとするのはバカやな
仕様書無しさん [] 2018/05/12(土) 12:00:42.20
デザインパターンのブログ(ヤフーブログ)・・・・なかなか良い。

ttps://blogs.yahoo.co.jp/kamyu_2010/35442561.html
仕様書無しさん [sage] 2018/05/12(土) 12:57:56.86

そもそも用途が全然違うから比較するのがおかしい
仕様書無しさん [sage] 2018/05/12(土) 12:59:58.30

vscodeでビルドやデバッグしたり、SCMと統合したりしてないの?
仕様書無しさん [sage] 2018/05/12(土) 13:09:50.99

(VSが例に出てるから)たとえばC#の場合、それはVSCodeじゃなくてOmnisharp
仕様書無しさん [sage] 2018/05/12(土) 13:13:55.54

うん、だからそういうのを統合したものが統合開発環境だよね
仕様書無しさん [sage] 2018/05/12(土) 14:12:29.90
1つのインターフェースから様々なサブシステムをコントロールしてプログラミングのライフサイクル全体をサポートするのが統合開発環境である

という定義なら確かにVSCodeも統合開発環境と言える
しかしこれではEmacsやVimあるいはただのターミナルですら統合開発環境と言ってしまえる

じゃあ統合開発環境とその他の明確な境界線ってどこにあるのと聞かれるとそんなものは定義できないというしかないのが実情
なのでベンダが統合開発環境を公称したりユーザーの大部分がこれは統合開発環境だと認識して初めて統合開発環境とする以外に現実的な定義方法は存在しない

EmacsやVimなどの高機能エディタやただのターミナルを統合開発環境と呼ぶ人は滅多に居ないのでテキストエディタだ
同じようにVSCodeを統合開発環境と呼ぶ人は滅多に居ないのでこれもただのテキストエディタだ
仕様書無しさん [sage] 2018/05/12(土) 14:23:48.20
そう言う意味ではEclipseも統合環境じゃ無くなるよな?
仕様書無しさん [sage] 2018/05/12(土) 14:27:49.40
Eclipseは統合開発環境と言っていいだろう
記憶が間違ってなければ公式もそう自称してるし
多くのユーザーが統合開発環境だと認識している
仕様書無しさん [sage] 2018/05/12(土) 14:53:28.87

違うってば
仕様書無しさん [sage] 2018/05/12(土) 15:34:35.01
Eclipsが統合環境なら、Emacsだって統合環境って言っていいんじゃね?
統合して無い分は外部呼び出しなんてまるっきり同じだろ?
仕様書無しさん [sage] 2018/05/12(土) 15:47:03.72
自分で環境を作っていくのは統合環境じゃない
統合環境というのは(開発環境が)統合済みの環境であって
統合可能な環境じゃない
仕様書無しさん [sage] 2018/05/12(土) 15:58:56.55
Eclipseなら最初から統合環境が整備されてるみたいな言い方だな。
仕様書無しさん [sage] 2018/05/12(土) 19:07:01.18

Emacsは統合開発環境って自称してないしみんなテキストエディタと思ってるからテキストエディタだよ

勢い5万以上のスレをメールでお知らせするサービス、実施中!!
憧れボディをGETしたい!その夢、ボニックで!

新着レスの表示

2ch勢いランキング アーカイブ プログラマー板ランキング

凡例:

レス番

100 (赤) → 2つ以上レスが付いている
100 (紫) → 1つ以上レスが付いている

名前

名無しさん (青) → sage のレス
名無しさん (緑) → age のレス

ID

ID:xxxxxxx (赤) → 発言が3つ以上のID
ID:xxxxxxx (青) → 発言が2つ以上のID

このページは2ch勢いランキングが作成したアーカイブです。削除についてはこちら