クソコードとは何か

■ このスレッドは過去ログ倉庫に格納されています
2021/01/30(土) 17:33:05.78ID:BjNTZWUI
このスレはクソコードとは何かを考えるスレです。

・親クラスが子クラスに依存する処理を持つコード
例...社員クラスを継承した正社員クラスと派遣社員クラスがあり、社員クラスが正社員クラスの知識を持つ状況

・staticにするべきではないモデルにまでstaticにする人
例...社員クラスのメソッドを全てstaticにしたり、社員クラスにシングルトンパターンに相応するものを適用する人

等、クソコードを見た時に「あっ、これクソコードだ」って認識する根拠を挙げていきましょう。
2021/02/15(月) 00:43:29.18ID:JE19der5
まさかテストコード書く書かないでこれほど盛り上がるとは
2021/02/15(月) 01:20:08.98ID:89MhGAsi
>>226
でそのテストコードは何故必ず正しいと言えるの?
そもそもまともなコード書ける人は単体なんかやる必要無いんだよね
その後のテストは結局手動やろ
2021/02/15(月) 02:53:39.67ID:P+hwD+is
>>228
これはひどいw
2021/02/15(月) 04:33:13.60ID:uhj1tPkS
>>228
正しいと言えるかどうかじゃなくて、
やったテストがちゃんと再現できるのが重要

テストした?→やりました、ほら証拠のスクショがあります!
いやスクショあったって、手順間違えてたら意味ないでしょ

これを防ぐためにある
手動で数千もあるテストを間違いなく実行できるんか?
そしてそれを短時間で再実行できるんか?
手動だとテストに時間がかかってしょうがないと言ってるだろ
2021/02/15(月) 07:21:34.31ID:KYanFmnG
>>230
エビデンス(エクセルにスクショ貼り付け)とってその後Gitに更新がなければそれで終わりや
実行なんてできる必要ないでどうせ時間が経ったらWindows Updateで動かんなるし
2021/02/15(月) 07:24:49.59ID:KYanFmnG
>>230
そもそもそれWindows Update後も動くんか?
動かんとき、その動かん原因がWindows Updateの類やライブラリ更新の類なのか元から動かんのか
テストコードしか書いてないとき判別できるんか?
できないならスクショもとってもらうで
2021/02/15(月) 07:42:37.58ID:l6UtloU6
>>226
だから
>> 結合やらやればどうせバグがあれば出るんだし
>とか言ってるやつに単体テストの重要性を説いても無駄
なのよ
リグレッションテスト?なにそれ?美味しいの?
って言う現場は実存する
2021/02/15(月) 08:51:23.20ID:rF3y723p
>>228
ネタで書いたであろう>>223をマジでやってそう
2021/02/15(月) 09:34:53.84ID:KYanFmnG
ていうか単体テストコードを起こせる設計書や仕様書が重要なんであって
単体テストコードすらWindows Updateの前には無力よな
やっぱりドキュメントが重要なんだよ
2021/02/15(月) 10:20:12.92ID:JE19der5
よくわかってないんだけど、windows updateが単体テストにどう関係してくるの?
2021/02/15(月) 10:30:33.84ID:l6UtloU6
単体テストをアプリかなんかと勘違いしてるんじゃねw
むしろWindows updateの時なんかに威力を発揮するんだけどね
2021/02/15(月) 11:07:38.83ID:rF3y723p
プラットフォームの仕様がwinアップデートで変わったせいで不具合がでるってこと?

もし、それが当たり前だと思っているのなら認識を改めた方がいいよ
単体テストしろ
2021/02/15(月) 13:48:53.21ID:89MhGAsi
テストコード厨って結局そのテストコードが正しいか証明出来ない上に
書くのが当たり前と脳死しているだけというwww

マジでいらんから
その程度の脳だから底辺プログラマーから抜け出せないのだよw
2021/02/15(月) 14:52:00.93ID:K9nFtIWr
>>239
> テストコード厨って結局そのテストコードが正しいか証明出来ない上に
→算数のテスト問題は間違ってるかもしれないから算数のテストは無意味と同じ主張

> 書くのが当たり前と脳死しているだけというwww
→脳死してるのお前じゃね?

> マジでいらんから
→お前がいらん

> その程度の脳だから底辺プログラマーから抜け出せないのだよw
→お前だろ
2021/02/15(月) 15:05:46.19ID:Yv9X0Du7
>>239
手動で実行してるテストのテストケースが正しいかどうかどうやって証明するの?
2021/02/15(月) 17:45:20.19ID:PMcPEWsf
>>231
> エビデンス(エクセルにスクショ貼り付け)とってその後Gitに更新がなければそれで終わりや

いつにエビデンス取るんだよ?
テストしたあとにエビデンス取るんだよな?
つまりテストでバグが出ることがあるだろ
そのバグを修正するんだから、エビデンス取った後に更新あるだろ
エビデンスとってgitに更新ないときは
テストですべてOKだったときしかありえないだろ
何いってんだお前
2021/02/15(月) 17:47:48.67ID:PMcPEWsf
>>232
> そもそもそれWindows Update後も動くんか?

Windows Update後動かなかったらどうするんだよ?
修正しないのかよ?

テストする時に時間がかかるのは
全部を手動テストするのか
一部だけ手動テストして残りはテストコードによる自動再テストなのか
どっちのほうが時間かかるのか言ってみて

もちろん手動テストは全部スクショ取ってもらうで(笑)
2021/02/15(月) 17:48:47.87ID:PMcPEWsf
>>239
> テストコード厨って結局そのテストコードが正しいか証明出来ない上に

手動テストでテスト内容が正しいか証明する方法と同じ方法が使える
手動テストでテスト内容が正しいか証明する方法を言え
245デフォルトの名無しさん
垢版 |
2021/02/15(月) 18:20:53.42ID:g92MWppk
客:何もしてないのに動かなくなりました!
(アプデは勝手にされてても気付かないパターン)
2021/02/15(月) 18:22:26.23ID:Y9YOwFs/
今から手動テストしますので1ヶ月ぐらいかかります
なにせ手動ですからね。ふっふっふ
2021/02/15(月) 18:27:58.41ID:c7rUji35
>>241
>>244

たぶん、まともなテストコードが書けない...そもそも、まともなクラス設計ができないから、そういう疑問を抱くんじゃないかな
>>76で、クソコード事例として挙げたコードみたいなクラス設計とかしてそう
2021/02/15(月) 18:30:00.42ID:2XXTIbH8
こんな単体テスト仕様書厨が居るんだからそりゃ老害老害言われるよ
頼むから60代だと言ってくれ
同じ世代にこんなん居たら怒鳴り散らすわ
2021/02/15(月) 18:47:28.42ID:c7rUji35
29だけど
誤解があったかもしれないから確認するけど、単体テスト仕様厨って何?
俺は必要だから単体テストの自動化を導入しているだけだけど、何か問題がありました?
2021/02/15(月) 21:37:06.55ID:SG2OCcUu
おまえらはすぐそうやって議題からすら遠ざかってしまうんよ
何かと何かの区別がつかない
手段が目的化してても平気
2021/02/15(月) 21:37:32.45ID:KYanFmnG
やっぱり単体テストはいいや
なんかやろうとか言ってた奴の手が一番遅いし
2021/02/15(月) 22:11:38.03ID:89MhGAsi
>>240
底辺が大発狂(笑)
こういう奴ってテストコード(笑)書いているのに低品質なクソコードしか書けない上にバグっているのに
テストコードが通ったから大丈夫とか平気で言いそう(笑)
こういうゴミが残業して給料だけはいいんだよな
優秀な奴は残業なんかしないしな
2021/02/15(月) 22:12:41.79ID:Y9YOwFs/
手動テストってテストした結果が曖昧なんだよな
「ちゃんと動くこと」

複数ある結果を全て書いてるところなんて見たことない
2021/02/15(月) 22:13:42.37ID:Y9YOwFs/
>>252
実際には「手動テストしたから大丈夫」なんだろ?
何が大丈夫なのか全くわからない
スクショだけじゃ、データベースの中身なんてわからんだろうに
2021/02/15(月) 22:44:18.63ID:l6UtloU6
>>239
> テストコード厨って結局そのテストコードが正しいか証明出来ない
もちろん完全にはできない
ただ単体テストのコードって
・値の設定
・被テストコードの呼出
・戻り値等のチェック
だから個々のテストコードは短いし普通は分岐ロジックないからレビューでバグを摘出するのは容易
もちろんそれでもテスト項目数は膨大なのでテストコードのステップ数もバカにならないからバグは作り込まれる
ただ作り込まれたテストコードのバグの大半はテスト失敗の形で現れるので修正することでバグを排除できる
2021/02/15(月) 22:55:52.85ID:Y9YOwFs/
それで手動テストで、やったテストが正しいか証明する方法はまだ?
スクショは正しいか証明する方法ではない
2021/02/16(火) 01:08:46.04ID:1bhKa/Av
なんか時間かかりすぎるよね
2021/02/16(火) 09:37:52.92ID:4/kXXcg7
唐突に「底辺」って言葉を使う人は大抵、底辺コンプレックスを抱えている奴だから>>256に反論はできない

だって底辺だから
2021/02/16(火) 09:42:16.10ID:JE34XZEs
>>258
底辺と自覚しているようで(笑)
そもそも単体テストなんていらないから
その後のテストで何もなければokだろ
証明とかテストという形式でやらないし残さないのだから(笑)
クソプログラマは必死でテストコード書いて通ってるから安心(笑)と思って後のテストでボコボコに指摘されそもそも仕様すらまともに理解してなかった(笑)ということが日常茶飯事やろ
2021/02/16(火) 10:20:55.15ID:IR9INNCG
>>259
お前の底辺コンプレックスとお前の日常とかどうでもいいから質問に答えたら?
その後のテストが正しいことってどうやって証明するんだ?
>>228書いたのお前だろ?
2021/02/16(火) 10:29:37.64ID:ZcpmZlC/
>>259
> その後のテストで何もなければokだろ

だからその後にやった手動テストが正しくテストしたと
どうやって証明するんだって聞いてるんだが?
2021/02/16(火) 10:31:18.03ID:ZcpmZlC/
>>259
テストコードない人は、仕様をわかってないで完成しましたって言って
その後の手動テストで、ボロクソに言われるだろw
2021/02/16(火) 12:51:04.85ID:IR9INNCG
> クソプログラマは必死でテストコード書いて通ってるから安心(笑)と思って後のテストでボコボコに指摘されそもそも仕様すらまともに理解してなかった(笑)ということが日常茶飯事やろ

修復不可能なクソコードを必死にテストしてそうだなコイツw
お前のコードは今更、単体テストしても手遅れだから諦めろ

他のお前らは、こんなふうにならないように最初からテストを自動化して、常に品質を保証できるようにしておけよ
2021/02/16(火) 14:36:40.86ID:JE34XZEs
>>263
お前と違って結合やらその後のテストで俺が作ったものは、ほとんどバグなんて無いんだよ
要望がでて対応するくらい
お前の場合はスキルが低過ぎてバグだらけな上に仕様すら満たしてないものしか作れないだろ(笑)
こういう奴のことを俺はマイナスしか生産しないゴミとよんでる(笑)
2021/02/16(火) 14:48:04.48ID:hLN/ZNLb
と妄想する底辺であった
2021/02/16(火) 14:53:04.38ID:1bhKa/Av
今の所一箇所しか当たったことないな
単体テストの自動テスト
すげー無駄作業感すごかった
2021/02/16(火) 14:53:52.36ID:OZpOEjmI
>>264
底辺コンプレックス君、さっきからなんで>>260>>261の質問を無視するの?
オブジェクト指向アンチのイキリ底辺君と同じ匂いがする
2021/02/16(火) 14:57:32.28ID:YiD3bxyB
>>266
なぜ、無駄だと思ったのか理由を述べてほしい
興味がある
2021/02/16(火) 15:05:00.94ID:QovxsXZg
いいんじゃないの、優秀な人が揃っててバグがないならサイコーやん
超優秀なグーグルの技術者さんが単体テストツールとか作ってるのが現実だけどw
2021/02/16(火) 15:26:10.69ID:1bhKa/Av
>>268
ソースに基づいて機械的に書いてるだけでテストが何のテストにもなってないことが多かったとかじゃなくて
すべてのテストコードがそうなった
少なくとも網羅されてなくては意味がないので
複雑な分岐のあるコードを通すときは同じコードをテストコードに貼り付けてすべての取りうる値をループで回すように組んだ
switch caseのような文ね
それの更に上の階層のコードも
結局subルーチンの取りうる値が結局わからないというか数が多過ぎていちいち調べてられないので
サブルーチンのテストコードを貼り付けてさらに本ルーチンのテストを加える形で追加していった
こんな手順でやるので一番うえの階層に行く頃には超巨大スパゲッティテストコードができていた
2021/02/16(火) 16:07:47.96ID:JE34XZEs
ホントテストが有用な説明を一切出来ないんだよなぁw
テストコード厨ってwww
頭が悪いからテスト書かないとボクのコードが正しいかわかりましぇーんwww
みたいなレベルなのかもしれんがw
こういう奴らって自分で動作確認しないでコミットしたりマジでしそうなんだよなぁw
普通はデバッグとかして大丈夫なものを上げるやろ
あ、デバッグの仕方やコールスタックとか全く知らんのかwwwwwwww

マイナスしか生産しない奴の場合、ちょっとパラメータ変えただけで動かないとか
エラー処理が無いとかそんなのばかりなんだよなw
それで、テストコードwも当然そのエラー処理に関するものは一切ないというwwwww
2021/02/16(火) 16:16:01.07ID:VGyCnBhh
wが多いほど余裕がなくて必死になってるように見えるぞ
2021/02/16(火) 16:58:55.10ID:+4LTd2t4
>>223で、すげー分かりやすい説明してるんだけどなぁ
2021/02/16(火) 17:13:03.88ID:+kNhNUJJ
芝の数は知能指数の低さを表す定期
池沼だから周りの指摘が理解できないのだろう
というかさ、単体テストができないレベルは論外なので他スレ逝ってください
お願いします
2021/02/16(火) 17:18:14.85ID:+kNhNUJJ
単体テストが必要ない→テスト済みのライブラリを使っており独自定義のモデルが無いから なら耳を傾けてやったが、流石に単体テストそのものの否定は論外

もし、これでテスト済みのフレームワークであるRailsやAndroid SDK、Django、Electron等を使ってたら嗤う
まぁ、フレームワークを一切使わない上、単体テストもしないとかだったらもっと嘲笑ってやるが
2021/02/16(火) 17:44:56.71ID:2fDc5cBr
>>270
文章がスパゲッティ過ぎて説得力ゼロ
2021/02/16(火) 17:52:58.50ID:+kNhNUJJ
>>270

> ソースに基づいて機械的に書いてるだけでテストが何のテストにもなってないことが多かったとかじゃなくて
> すべてのテストコードがそうなった

あなたはもう一人の頭おかしい人とは別人と見なして回答するけど、そもそもソースに基づいてテストケースを書くのが間違い

ソースを書く段階で既に正しいソースの答えが存在しないといけない
テストコードを書く→コード実装する→ビルドする→テストコードが自動で実行→コード修正する→ビルドする→テストコードが自動で実行
これを繰り返すから不具合の無いプログラムが書ける

もしも、これを否定するのなら、是非、もっと素晴らしい開発ノウハウを教えてほしいものだ
「俺がつくったものはほとんど不具合を出さない」とか、そういうイキリ情報だけ吐き出すのはどうでもいいから
2021/02/16(火) 18:08:22.87ID:1bhKa/Av
>>277
ソースがおかしかったらテストもおかしくなるの?
2021/02/16(火) 18:29:17.92ID:+kNhNUJJ
>>278
本来の単体テストでは、ソースがおかしかったらテストもおかしくなってはならないのだが...ソースに基づきテストコードを書くと、ソースがおかしいとテストコードもおかしくなる可能性はある

まぁ、ソースに基づきの本質的な意味にもよるけど

文面と自分の過去の経験(単体テストの無意味化)から、書き直しながら設計をする「書き直しプログラミング」という良くない実装をしているんじゃないかなーとも感じられたけど、そこら辺は大丈夫?
2021/02/16(火) 21:27:59.66ID:ZcpmZlC/
自動テストの欠点は

1. 時間がかかりすぎる。自動テストの数千倍
2. 正しくテストをしたという証拠が残らない
2021/02/16(火) 21:28:14.84ID:ZcpmZlC/
間違えたw

手動テストの欠点は

1. 時間がかかりすぎる。自動テストの数千倍
2. 正しくテストをしたという証拠が残らない
2021/02/16(火) 21:33:26.67ID:dPD3RJZH
テストが要らんと言う人の意見のほうが聞きたい
テストが要ると言う人の意見には興味は無い
PGとSEの区別も仕様書と要件定義書の区別も
人月も工数計算も俺にとっては興味が無いから
どうやって人類はクソコードを避けていくのかの意見だけが聞きたい
2021/02/16(火) 21:41:54.02ID:ZcpmZlC/
頑張ればできる。みたいな根性論はいらんで
何千人も人を投入すればできる。みたいな人海戦術もいらんで
2021/02/16(火) 21:46:50.65ID:2fDc5cBr
>>282
「〜すればクソコードを避けられる」という意見があったとして
それが本当にクソコードを避けられるかどうか
どうやって確認するの?
2021/02/16(火) 22:09:23.42ID:dPD3RJZH
>>284
確認も何も
本当に避けられるかどうかがまずどうでもいい
もっと気楽にもっと率直に
「こういう糞を俺はこう避ける」の生の意見を聞きたい
2021/02/16(火) 22:16:43.61ID:ZcpmZlC/
>>284
それを聞いてる

「手動テストすればクソコードを避けられる」という意見があったとして
それが本当にクソコードを避けられるかどうか
どうやって確認するの?
2021/02/17(水) 02:14:29.51ID:9AWFfoq+
クソコード避けたいなら、まずクソなプロジェクトを避けることだな
2021/02/17(水) 02:46:54.37ID:fzT3JoWH
>>285
発想がすでにクソコード
2021/02/17(水) 07:57:46.74ID:cgz/Ol0S
元は>>228の発言なんだろうけど、もう触れるのはやめようぜ
俺ももっと建設的な意見が聞きたいよ
2021/02/17(水) 08:34:48.76ID:ty0uudwM
結局手動テストで、正しくテストを行ったことを
担保する方法は出ないで終わりか
結果のスクショだけじゃ役に立たないからね
2021/02/17(水) 12:04:03.72ID:KH04dI9l
コードがクソでもプログラマーがクソじゃなければ簡単に浄化できる

クソコードを避けようとするのは浄化スキルを持たないクソプログラマー
2021/02/17(水) 12:11:35.28ID:JcWwc4WJ
浄化が何を示すのかよくわからんけど単体テストコード無しでリファクタリングする勇気は俺にはないわ
2021/02/17(水) 12:31:42.99ID:H55Rd51D
俺もテストコードが無い上、手遅れなソースは直せる自身がないや
ほぼ作り直しになる未来しか見えない
テストコードを作れば済む話なら直せるけど、手遅れコードは無理
2021/02/17(水) 12:50:38.83ID:FZd5objq
具体性皆無
どうやって浄化(リファクタリング?)するのだか
たったの2行から嫌な予感しかしないけど、一応聞いてやろう
2021/02/17(水) 13:00:59.13ID:pFFqlpSR
テストコードが無いなら書けばいいじゃん
クソコードを放置して新たなクソを付け足すのもクソプログラマーだな
2021/02/17(水) 13:50:01.10ID:FZd5objq
>>295
クソコード呼ばわりするレベルに至る時点で、テストコードを追加して直せばいいじゃんで済むレベルじゃないと思うのだが

まぁ、俺の想像するクソコードと貴方の想像するクソコードが乖離している可能性はあるけど
297デフォルトの名無しさん
垢版 |
2021/02/17(水) 14:04:39.81ID:DzAxBoaP
テストコードって学校で習わなかったなぁ
2021/02/17(水) 14:15:56.78ID:bkC92bnI
頭の悪いマウント合戦やってるクソスレ上げんなカス
2021/02/17(水) 14:24:26.00ID:8PenPzn3
晒し上げ
2021/02/17(水) 14:27:57.95ID:ty0uudwM
>>295
テストコードがないのに、どうやって正しいテストがわかるのかね?
テストが本当に正しいという担保はどうやって取るのかずっと聞いてる
2021/02/17(水) 14:35:24.50ID:7XrGtYbS
>>300
仕様があればテストコードがなくても何が正しいかわかるよね?

仕様がないなら仕様を作ればいいよね?
何が正しいかを決めればいいだけ

できない言い訳ばかりしてクソにクソを積み重ねる君たちがクソコードの現況だから
2021/02/17(水) 14:37:56.30ID:ty0uudwM
>>301
> 仕様があればテストコードがなくても何が正しいかわかるよね?

その仕様が正しいという担保は?
仕様が間違ってるなんてよくある話
2021/02/17(水) 14:47:15.95ID:csyh4HrV
はいはい、この話はやめやめ
頼むから【隔離】文字を入れた隔離スレで議論してくれ
2021/02/17(水) 15:11:11.02ID:4I2sE0QP
>>302
それは仕様書が間違ってるんであって仕様が間違ってるのとは違う

仕様書が間違ってると判断できる術があるなら何が正しいかわかるということ

結局テストと同じ話なんだけどあれこれ言い訳してクソを放置してるだけだよね
2021/02/17(水) 18:21:56.56ID:k81iZNBk
継続的イ...継続的な品質維持を破壊するようなコードを列挙していこうぜ
スレの趣旨的にはアンチパターンの研究が本来の目的だろうし

「構造が理解できないコード」とか
「責務を見失ったクラス」とか
「コピペしたような共通のコードが複数箇所あって、一部のソースを変更したら114,519箇所のコード書き直しが要求されるコード」とか
2021/02/17(水) 18:27:10.12ID:ar54zOTy
TDD知らんの?
2021/02/17(水) 18:30:50.13ID:k81iZNBk
>>306
知ってるけど流れ察しろ
308デフォルトの名無しさん
垢版 |
2021/02/17(水) 18:32:30.85ID:8Df3qLX7
馬鹿が文章を書くとこうなりますの見本スレ
309デフォルトの名無しさん
垢版 |
2021/02/17(水) 18:44:03.73ID:ltamn3iy
クソコード:大概が自己満足のオナニーに起因する
自動テスト:出来ているやつはホトンド居ない、なぜなら自動テストで致命的な問題が
      出てこないで後から発見されるから、セキュリティ・ホールも右に同じ
      大概が自己満足のオナニー

だが自動テストは必要悪である。テスト原理主義者はカバレッジが100%で無ければ教義に反する異端者として
処分され、変数の代入さえテストを要求するが、致命的な問題が後から発見された場合にはテストすら破壊する
破壊的なリファクタリングを必要とし、テストコードの修正と二重苦の責めを負う
2021/02/17(水) 18:50:55.02ID:dlextU55
>>305
視野が狭すぎてちょっと引く・・・

君みたいなプログラマーが継続的な品質維持を破壊する1番の原因
2021/02/17(水) 18:55:30.33ID:UmDM7l2a
>>310が空気読んでなくて引く
どう考えても継続的イとか言いかけているあたりがで、荒らしを相手にすんなという意味なのにそれを解説しないと伝わらないことに引くわ

あっ言っちゃった
2021/02/17(水) 18:59:25.09ID:JcWwc4WJ
>>295
テストコードがない時点でろくな仕様書がない可能性が高いと思う
コードからテストコードを作るのはめっちゃ大変だし
2021/02/17(水) 19:10:33.57ID:UlO/vFMl
継続的淫夢ローション
2021/02/17(水) 19:19:20.02ID:DzAxBoaP
>>298
1番馬鹿なのはお前
2021/02/17(水) 19:29:15.15ID:p8cob7ED
テストコードはあって当たり前の前提でスレタイの話がしたかった...
2021/02/17(水) 19:40:45.14ID:p8cob7ED
まぁ、意味のあるテストコードがあればクソコードと言われるレベルのものはなくなるけどさ、そうじゃなくて

クソコードと良いコードを知った上でテスト駆動やるべきだからこそ、クソコードの分析がしたかったよ...
317デフォルトの名無しさん
垢版 |
2021/02/17(水) 20:38:23.05ID:ltamn3iy
むしろ時代の流れは既にテストコードを「書く」という流れではなく、既に外部ソフトウェアを利用して
テストする段階に来ている。これは日本では「単体」しないのですか?と受け止めれれるがそうではない。
例えばテストしづらいソフトウェアにはLinux-KernelがあるがリリースはTorvaldsが十分に安定していると
「感じ」たときにリリースされる。ではLinuxは全くテストしていないですか?と思うがそうではない。
Kernelはテストコードが書きづらいため、様々な工夫がされる。外部ツールとして静的コード分析、
継続的インテグレーションツール、テスト自動化など様々なツールが使われる。もちろん単体テストもある。
現在のソフトウェアの主流において(ランダムな引数を渡す)ファジングテストツール(Fuzzer)なども
使われる。日本では一向に使われる気配は無い(誰も使わない・知らない企業独自のプロダクトのような
自動ツールが使われるのみである)ストレステストツールは何も知らない営業のアホが書いた根拠不明の
性能要件を満たすためのツールではないのである。フェイクデータを用意してテストするのが一部では
流行っているがそれでは網羅性はない。
例えば、1ファンクション/メソッド/スコープの変数の数、分岐の数、ループ、演算子の数の増えれば
増えるほど複雑度は増大しバグが発生しやすくなるはずである。そう言った統計的な手法を見ないで
宗教のようにテストコードばかりに注目するのは悪である。
2021/02/17(水) 20:56:14.06ID:3Rkqt+9c
>>312
むしろテストコードがないからこそ仕様書をきっちり更新してる可能性のほうが高いやろ
それにコードからテストコードを作るのはアンチパターンだぞ
2021/02/17(水) 21:16:09.34ID:3Rkqt+9c
>>316
自分がクソコードだと思う例をあげて解説してみればいいんでない?
クソだと思ったものが意外とそうでもない場合もあればその逆もあるから
2021/02/17(水) 21:24:29.62ID:v0/tbLAB
再利用性の無いクラスは糞
お前らもあるやろ?
アプリ全体で一箇所でしかインスタンス化されないようなクラス
邪魔だなぁと思いつつも
それを書く事で若干の整理と局所化が得られるから作っちゃうようなクラス
2021/02/17(水) 21:48:55.78ID:FwS3TBTC
>>317
嘘つくな(笑)
オープンソースでなんか証拠持ってきてみ
322デフォルトの名無しさん
垢版 |
2021/02/17(水) 22:15:44.97ID:ltamn3iy
>>321
いろいろ書いてますが、どの辺が嘘だと言っていますか?全て?
2021/02/17(水) 22:36:40.80ID:JcWwc4WJ
>>318
> むしろテストコードがないからこそ仕様書をきっちり更新してる可能性のほうが高いやろ
ないない、世の中にはテストコードも仕様書もちゃんとしてる組織とテストコードもないし仕様書もちゃんとしてないクズ組織しかないと思っていい

> それにコードからテストコードを作るのはアンチパターンだぞ
そんなことはみんなわかってる
やむを得ずのケースな
2021/02/17(水) 22:43:42.98ID:FwS3TBTC
仕様書をきっちり更新しているとして、
ちゃんとその通りにテストしたことを担保するのはどうすればいいの?
なんでこの質問に答えられないの?
2021/02/17(水) 22:44:31.47ID:FwS3TBTC
>>322
ソースを持ってきてない所全て
2021/02/17(水) 22:52:29.81ID:gjncEnw2
パーフェクトRuby on Rails には、
毎週モジュールを更新してテストするように書いてある

こういうのが出来るのは、Ruby/Rails コミッターのいるような技術力のある自社開発系だけ。
普通の会社は、できた後は放置するだけw
一切、更新しない

会社全体で、AWS の800資格と、
全12資格を持つ、ジェダイマスターが7人いる、クラスメソッドの動画を見ると、
全部、Lambda などのサーバーレス

自社で毎週、OS・アプリ・モジュールなどを更新してテストできる、会社は無い。
だから、AWS がOS・Aurora などのデータベースなどを更新する、サーバーレスを使う

サイボウズのkintone は、Kubernetes で毎日すべてのシステムを破棄して、作り直している。
これが究極のTDD・継続的インテグレーション

毎日、全システムをrolling update する
2021/02/17(水) 23:03:43.66ID:3Rkqt+9c
>>323
>そんなことはみんなわかってる
>やむを得ずのケースな

やむを得ずのケースもやっちゃダメ
わかってるつもりでわかってないパターン
■ このスレッドは過去ログ倉庫に格納されています