このスレはクソコードとは何かを考えるスレです。
・親クラスが子クラスに依存する処理を持つコード
例...社員クラスを継承した正社員クラスと派遣社員クラスがあり、社員クラスが正社員クラスの知識を持つ状況
・staticにするべきではないモデルにまでstaticにする人
例...社員クラスのメソッドを全てstaticにしたり、社員クラスにシングルトンパターンに相応するものを適用する人
等、クソコードを見た時に「あっ、これクソコードだ」って認識する根拠を挙げていきましょう。
探検
クソコードとは何か
■ このスレッドは過去ログ倉庫に格納されています
2021/01/30(土) 17:33:05.78ID:BjNTZWUI
562デフォルトの名無しさん
2021/02/22(月) 07:08:55.27ID:Vv8+u1qd >>560
お前がストレス解消のために書いてるってことはわかったよw
お前がストレス解消のために書いてるってことはわかったよw
563デフォルトの名無しさん
2021/02/22(月) 07:08:56.10ID:PA6Gvk4i 暇ならテスト書いていいんじゃない
564デフォルトの名無しさん
2021/02/22(月) 07:10:09.10ID:Vv8+u1qd 暇だからという理由で手動テストをしてたのか?
手動テストをやめれば暇になるぞwww
手動テストをやめれば暇になるぞwww
565デフォルトの名無しさん
2021/02/22(月) 07:10:31.54ID:PA6Gvk4i 開発工数30日とかテストなんか書けるかハゲ
566デフォルトの名無しさん
2021/02/22(月) 07:11:40.21ID:Vv8+u1qd567デフォルトの名無しさん
2021/02/22(月) 07:11:58.72ID:PA6Gvk4i 巷には短納期かつトラブル案件だらけ
568デフォルトの名無しさん
2021/02/22(月) 07:12:33.00ID:Vv8+u1qd そして短納期かつトラブル案件は自動テストがない
なるほどなw
なるほどなw
569デフォルトの名無しさん
2021/02/22(月) 07:12:50.79ID:PA6Gvk4i 悠々とテストコード書ける案件やりたいな
570デフォルトの名無しさん
2021/02/22(月) 07:13:46.16ID:Vv8+u1qd テストコード書く時間がないなら
それよりももっと時間がかかる手動テストやれるわけがないので
テストサボってるだけなんだろうな
それよりももっと時間がかかる手動テストやれるわけがないので
テストサボってるだけなんだろうな
571デフォルトの名無しさん
2021/02/22(月) 07:14:21.10ID:PA6Gvk4i テストコード工数を認めてもらえる案件やりたいな
もう単体テストはエンドでやる、みたいなのばっかり
もう単体テストはエンドでやる、みたいなのばっかり
572デフォルトの名無しさん
2021/02/22(月) 07:15:19.40ID:PA6Gvk4i そして仕様変更が来る
573デフォルトの名無しさん
2021/02/22(月) 07:16:26.70ID:PA6Gvk4i エージェントが20%とか抜いてるからエンドがコストにシビアすぎる
574デフォルトの名無しさん
2021/02/22(月) 07:18:04.08ID:Vv8+u1qd 自動テストがないプロジェクトは短納期かつトラブル案件らしいw
575デフォルトの名無しさん
2021/02/22(月) 07:18:22.62ID:PA6Gvk4i もう60日以上の案件久しくやってないな
576デフォルトの名無しさん
2021/02/22(月) 07:18:33.25ID:Vv8+u1qd プロジェクトの炎上具合を測れるな
自動テストがないプロジェクトは短納期かつトラブル案件
自動テストがないプロジェクトは短納期かつトラブル案件
577デフォルトの名無しさん
2021/02/22(月) 07:19:07.55ID:PA6Gvk4i 自動テストとか暇な案件が羨ましいわ
578デフォルトの名無しさん
2021/02/22(月) 07:19:23.92ID:Vv8+u1qd 自動テストを書いてないやつは、60日以上の案件をやらせてもらえないらしい
579デフォルトの名無しさん
2021/02/22(月) 07:20:34.85ID:PA6Gvk4i 自動テストあるのにメンテしてなくて炎上するケースが50%くらいある
ずっと自動テスト工数割いてくれよ
ずっと自動テスト工数割いてくれよ
580デフォルトの名無しさん
2021/02/22(月) 07:21:38.82ID:PA6Gvk4i 60日以上の案件がほぼ無い
581デフォルトの名無しさん
2021/02/22(月) 07:22:34.66ID:PA6Gvk4i 120日半年くらいあればなぁ
582デフォルトの名無しさん
2021/02/22(月) 07:22:48.08ID:IPejWs3O >>533
最近の単体テストツールは影響がないテストコードを実行しないものが多くある
最近の単体テストツールは影響がないテストコードを実行しないものが多くある
583デフォルトの名無しさん
2021/02/22(月) 07:23:43.26ID:PA6Gvk4i 他人の書いたテストコードのメンテが辛いのは分かる
584デフォルトの名無しさん
2021/02/22(月) 07:27:46.33ID:PA6Gvk4i メソッドを今流にメンテしたらテストコード通らないからギリギリまでママにされていて大規模改修とかやめてくれ
585デフォルトの名無しさん
2021/02/22(月) 07:29:23.41ID:PA6Gvk4i テストを直すのがめんどくさい時が多々ある
やめてくれ
やめてくれ
586デフォルトの名無しさん
2021/02/22(月) 07:52:25.48ID:PA6Gvk4i テストコードとか書かないに限るな
587デフォルトの名無しさん
2021/02/22(月) 08:29:30.69ID:UqVKWzXS 平日にID真っ赤にする手動テストおじさんはNGしとけ
無視して俺らと会話しようぜ
仕事してるからレスは少なくなるけど
無視して俺らと会話しようぜ
仕事してるからレスは少なくなるけど
588デフォルトの名無しさん
2021/02/22(月) 18:49:35.65ID:/OsI7R0n 本日の職場で見たクソコード
class MainActivity implement 機能Aインタフェース, 機能B,インタフェース 機能Cインタフェース...機能Mインタフェース{
}
なんで12個のインタフェース継承してるの?
円卓の騎士かな?
Androidで発生するイベント全部、1個のアクティビティに継承して実装するのやめてください実装者が死んでしまいます
class MainActivity implement 機能Aインタフェース, 機能B,インタフェース 機能Cインタフェース...機能Mインタフェース{
}
なんで12個のインタフェース継承してるの?
円卓の騎士かな?
Androidで発生するイベント全部、1個のアクティビティに継承して実装するのやめてください実装者が死んでしまいます
589デフォルトの名無しさん
2021/02/22(月) 19:43:16.58ID:FCcJxvZt それはクソコードと言うよりクソ設計だろ
590デフォルトの名無しさん
2021/02/22(月) 22:40:13.49ID:hhtkxh8a クソコード兼クソ設計だな
591デフォルトの名無しさん
2021/02/23(火) 13:35:47.17ID:q1iKZVvs >>587
なんか話せよ
なんか話せよ
592デフォルトの名無しさん
2021/02/23(火) 13:39:35.37ID:q1iKZVvs >>559
そのテストコード書くのにかかった時間は仕様変更によりすべて無駄になる世界があるんよ、君はまだ世界の広さを知らない
そのテストコード書くのにかかった時間は仕様変更によりすべて無駄になる世界があるんよ、君はまだ世界の広さを知らない
593デフォルトの名無しさん
2021/02/23(火) 14:42:48.42ID:iu17pC6m >>592
仕様変更によりテスト手順書が全て無駄になる世界はないのか?w
仕様変更によりテスト手順書が全て無駄になる世界はないのか?w
594デフォルトの名無しさん
2021/02/23(火) 16:14:44.38ID:5BmsWjYf こいついっつもテストする時間のことを無視するよなw
テストコードを書く vs テストコードを書かないでしか比べてない
それよりも重要な何度も行うテストの時間を持ち出されたら困るのだろうな
手動で数回テストをするだけであっという間に開発コストが数倍に跳ね上がる
テストコードを書く vs テストコードを書かないでしか比べてない
それよりも重要な何度も行うテストの時間を持ち出されたら困るのだろうな
手動で数回テストをするだけであっという間に開発コストが数倍に跳ね上がる
595デフォルトの名無しさん
2021/02/23(火) 16:23:12.42ID:xxo3T1mG テスト書くのめんどくさいんで俺が抜けた後のやつに任せるわ
596デフォルトの名無しさん
2021/02/23(火) 16:58:13.53ID:8QyPv/It テストコード1回書く間に手動テスト5回はできそうなんだが?
んで1回テスト通したら次の変更までやんねーよな?
んで1回テスト通したら次の変更までやんねーよな?
597デフォルトの名無しさん
2021/02/23(火) 17:21:41.87ID:0iI/BmGY ここまでをまとめると、テストコードはSWAGGERとかで自動生成される部分のみでおk?
598デフォルトの名無しさん
2021/02/23(火) 17:21:54.85ID:iu17pC6m >>596
それ、テスト手順書書く時間入れてなくね?
それ、テスト手順書書く時間入れてなくね?
599デフォルトの名無しさん
2021/02/23(火) 17:48:25.42ID:q1iKZVvs >>593
テスト手順書なんて作るん?
テスト手順書なんて作るん?
600デフォルトの名無しさん
2021/02/23(火) 17:49:26.31ID:q1iKZVvs >>598
テスト手順書って何?
テスト手順書って何?
601デフォルトの名無しさん
2021/02/23(火) 17:50:39.14ID:q1iKZVvs 仕様変更があるのは手順書作る前だから問題ないのさ、でもテストコードは無駄の極み底辺コーダーの自己満なのさ
602デフォルトの名無しさん
2021/02/23(火) 17:51:03.33ID:q1iKZVvs >>597
オーケー
オーケー
603デフォルトの名無しさん
2021/02/23(火) 17:53:11.25ID:q1iKZVvs ユニットテスト100回回すより総合テスト1回の方が品質高まる、実装ミスなんて現代のプログラミング環境では無視できる
604デフォルトの名無しさん
2021/02/23(火) 18:07:19.13ID:5BmsWjYf605デフォルトの名無しさん
2021/02/23(火) 18:33:09.14ID:0iI/BmGY flutterとかJITでガンガン テスト→修正→リファクタリング を繰り返すからテストコード要らないんだよね。
606デフォルトの名無しさん
2021/02/23(火) 19:03:27.43ID:5BmsWjYf >>605
Flutter標準のやり方でテストしてるってことかな?
どの方法を使ってるの?
Testing Flutter apps
https://flutter.dev/docs/testing
Automated testing falls into a few categories:
- A unit test tests a single function, method, or class.
- A widget test (in other UI frameworks referred to as component test) tests a single widget.
- An integration test tests a complete app or a large part of an app.
Flutter標準のやり方でテストしてるってことかな?
どの方法を使ってるの?
Testing Flutter apps
https://flutter.dev/docs/testing
Automated testing falls into a few categories:
- A unit test tests a single function, method, or class.
- A widget test (in other UI frameworks referred to as component test) tests a single widget.
- An integration test tests a complete app or a large part of an app.
607デフォルトの名無しさん
2021/02/23(火) 19:15:46.42ID:5BmsWjYf >>606のページに書いてあった
Unit Widget Integration
Confidence Low Higher Highest
Maintenance cost Low Higher Highest
Dependencies Few More Most
Execution speed Quick Quick Slow
俺が言っていたことと同じだけど翻訳すると
・信頼性
ユニットテスト:低い ウィジット:高い 統合テスト:最高
・メンテナンスコスト
ユニットテスト:低い ウィジット:多い 統合テスト:最も多い
・依存関係
ユニットテスト:低い ウィジット:少し依存する 統合テスト:たくさん依存する
・実行速度
ユニットテスト:速い ウィジット:速い 統合テスト:遅い
統合テストはメンテナンスコストが悪くて遅いんだよね
Unit Widget Integration
Confidence Low Higher Highest
Maintenance cost Low Higher Highest
Dependencies Few More Most
Execution speed Quick Quick Slow
俺が言っていたことと同じだけど翻訳すると
・信頼性
ユニットテスト:低い ウィジット:高い 統合テスト:最高
・メンテナンスコスト
ユニットテスト:低い ウィジット:多い 統合テスト:最も多い
・依存関係
ユニットテスト:低い ウィジット:少し依存する 統合テスト:たくさん依存する
・実行速度
ユニットテスト:速い ウィジット:速い 統合テスト:遅い
統合テストはメンテナンスコストが悪くて遅いんだよね
608デフォルトの名無しさん
2021/02/23(火) 19:44:22.51ID:iu17pC6m609デフォルトの名無しさん
2021/02/23(火) 20:57:27.28ID:0iI/BmGY テストコードは暇なら書くレベルの価値しかない
AppleもGoogleも特に推奨してないし
AppleもGoogleも特に推奨してないし
610デフォルトの名無しさん
2021/02/23(火) 21:01:10.20ID:5BmsWjYf はいはい、議論の負けたから続きじゃなくて
前の話に戻して逃げるとw
前の話に戻して逃げるとw
611デフォルトの名無しさん
2021/02/23(火) 21:03:22.33ID:0iI/BmGY612デフォルトの名無しさん
2021/02/23(火) 21:04:02.68ID:5BmsWjYf やっぱりどうでもいい指摘
613デフォルトの名無しさん
2021/02/23(火) 21:05:07.62ID:5BmsWjYf Flutterが自動テストを推奨していることをどう思うのか?
Testing Flutter apps
https://flutter.dev/docs/testing
Automated testing falls into a few categories:
- A unit test tests a single function, method, or class.
- A widget test (in other UI frameworks referred to as component test) tests a single widget.
- An integration test tests a complete app or a large part of an app.
Testing Flutter apps
https://flutter.dev/docs/testing
Automated testing falls into a few categories:
- A unit test tests a single function, method, or class.
- A widget test (in other UI frameworks referred to as component test) tests a single widget.
- An integration test tests a complete app or a large part of an app.
614デフォルトの名無しさん
2021/02/23(火) 21:05:55.00ID:0iI/BmGY テストコード自動生成ツールとかあったな・・
今どこいったんだろ・・
今どこいったんだろ・・
615デフォルトの名無しさん
2021/02/23(火) 21:07:29.73ID:5BmsWjYf616デフォルトの名無しさん
2021/02/23(火) 21:08:51.50ID:0iI/BmGY >>613
どこで推奨してる?五万とあるプラグインのほとんどにテストコード無いけど。
どこで推奨してる?五万とあるプラグインのほとんどにテストコード無いけど。
617デフォルトの名無しさん
2021/02/23(火) 21:09:47.53ID:H7g3tUGv618デフォルトの名無しさん
2021/02/23(火) 21:10:16.06ID:5BmsWjYf >>616
一番最初に書いてある
The more features your app has, the harder it is to test manually.
Automated tests help ensure that your app performs correctly
before you publish it, while retaining your feature and bug fix velocity.
一番最初に書いてある
The more features your app has, the harder it is to test manually.
Automated tests help ensure that your app performs correctly
before you publish it, while retaining your feature and bug fix velocity.
619デフォルトの名無しさん
2021/02/23(火) 21:11:47.89ID:0iI/BmGY >>617
推奨はしてないね。
推奨はしてないね。
620デフォルトの名無しさん
2021/02/23(火) 21:12:45.23ID:5BmsWjYf621デフォルトの名無しさん
2021/02/23(火) 21:13:16.46ID:0iI/BmGY テストコード書け、ってwarningでも見たことないし
622デフォルトの名無しさん
2021/02/23(火) 21:14:20.96ID:5BmsWjYf623デフォルトの名無しさん
2021/02/23(火) 21:15:40.93ID:0iI/BmGY つまり暇なら書くレベルなんだよ。
「テストコード工数が嵩んで納期を守れません」
なんてPJ無いし。
「テストコード工数が嵩んで納期を守れません」
なんてPJ無いし。
624デフォルトの名無しさん
2021/02/23(火) 21:16:18.20ID:5BmsWjYf ほーらやっぱり反論できなかったw
625デフォルトの名無しさん
2021/02/23(火) 21:16:58.40ID:H7g3tUGv626デフォルトの名無しさん
2021/02/23(火) 21:18:00.51ID:0iI/BmGY Xcodeとかでもテストコードカバレージ出るけどエラーになるかな・・
627デフォルトの名無しさん
2021/02/23(火) 21:20:06.97ID:0iI/BmGY628デフォルトの名無しさん
2021/02/23(火) 21:21:23.76ID:0iI/BmGY 自動テストは暇ならやればいいよ。
629デフォルトの名無しさん
2021/02/23(火) 21:23:33.72ID:5BmsWjYf630デフォルトの名無しさん
2021/02/23(火) 21:24:44.69ID:0iI/BmGY >>629
その意見はなんかズレてる気がするけど・・ジジイ?
その意見はなんかズレてる気がするけど・・ジジイ?
631デフォルトの名無しさん
2021/02/23(火) 21:26:29.19ID:luu761LB >>630
そいつ田中勇だよ、相手にするな
そいつ田中勇だよ、相手にするな
632デフォルトの名無しさん
2021/02/23(火) 21:26:51.74ID:H7g3tUGv > そのURLは自動テストはこうやったら良いですよ。っていう紹介ページだよ。
> 秋葉原のテスト専門会社に出したほうがトラブル少ないし安いし。
TDD知らないの?
> 秋葉原のテスト専門会社に出したほうがトラブル少ないし安いし。
TDD知らないの?
633デフォルトの名無しさん
2021/02/23(火) 21:28:40.06ID:2jti1hD2 時間ないから自動テスト作りながら開発するんじゃないの?
634デフォルトの名無しさん
2021/02/23(火) 21:28:52.26ID:zrvRgTjD635デフォルトの名無しさん
2021/02/23(火) 21:30:42.76ID:H7g3tUGv636デフォルトの名無しさん
2021/02/23(火) 21:37:27.80ID:ruTDgDI5 ほんとこいつまじうぜぇ
637デフォルトの名無しさん
2021/02/23(火) 21:55:00.29ID:zrvRgTjD >>602
で、結論が出てるので自動テストの話は終了するか自動テストスレを立てて下さい。
で、結論が出てるので自動テストの話は終了するか自動テストスレを立てて下さい。
638デフォルトの名無しさん
2021/02/24(水) 01:17:48.29ID:edAGB3A3 モジュール仕様書って作る?javadocみたいな
cだから開発環境では作ってくれなくて、自前で用意するしかなさそうな雰囲気なんだけど自動生成してくれるツールとかない?
cだから開発環境では作ってくれなくて、自前で用意するしかなさそうな雰囲気なんだけど自動生成してくれるツールとかない?
639デフォルトの名無しさん
2021/02/24(水) 01:27:10.83ID:cUgjNbyW コレとかは違う?というかダメか。
https://gist.github.com/nafuka11/9c031f74682b1f66ccf22e7fbca9ca4b
https://gist.github.com/nafuka11/9c031f74682b1f66ccf22e7fbca9ca4b
640デフォルトの名無しさん
2021/02/24(水) 05:41:22.24ID:IL+ryHZw641デフォルトの名無しさん
2021/02/24(水) 07:35:11.50ID:1rMe/08W 蒸し返さなくていいから二人揃って隔離病棟池
642デフォルトの名無しさん
2021/02/24(水) 07:36:31.14ID:7Ynmy8c9643デフォルトの名無しさん
2021/02/24(水) 07:50:22.37ID:cUgjNbyW >>640
おまえ死ねよ、しつこいよ
おまえ死ねよ、しつこいよ
644デフォルトの名無しさん
2021/02/24(水) 08:17:54.05ID:144B6M1D >>641,643
お前らも相手すんな
お前らも相手すんな
645デフォルトの名無しさん
2021/02/24(水) 08:53:02.20ID:edAGB3A3 >>642
知らなかった ありがとう
知らなかった ありがとう
646デフォルトの名無しさん
2021/02/24(水) 18:26:31.18ID:FKCMCStr 職場のクソコード
永続化する必要のない変数、全てをSQLightで管理
O/Rマッパー?何それ?
男は黙ってSQL文の文字列を埋め込め
データの取り出し方?
永続化する必要のない変数、全てをSQLightで管理
O/Rマッパー?何それ?
男は黙ってSQL文の文字列を埋め込め
データの取り出し方?
647デフォルトの名無しさん
2021/02/24(水) 18:30:34.85ID:FKCMCStr SELECTを書け
こうして、各種コードからSQLでアクセスするというグローバル変数共有化より恐ろしいクソコードができあがった
上司が勝手に外注に丸投げして作らせたコードが、プロジェクトメンバーでもない筈の俺の手元に何故か回ってきて発狂中
こうして、各種コードからSQLでアクセスするというグローバル変数共有化より恐ろしいクソコードができあがった
上司が勝手に外注に丸投げして作らせたコードが、プロジェクトメンバーでもない筈の俺の手元に何故か回ってきて発狂中
648デフォルトの名無しさん
2021/02/24(水) 18:35:50.36ID:FKCMCStr 今日の心がけ◆丸投げはやめましょう
一般社団法人クソコード研究所
一般社団法人クソコード研究所
649デフォルトの名無しさん
2021/02/25(木) 06:46:12.65ID:zWIoETxB コメントを無駄に装飾するのやめてほしいわ
2行以上の全コメントが枠で囲ってあんの
2行以上の全コメントが枠で囲ってあんの
650デフォルトの名無しさん
2021/02/25(木) 07:39:27.32ID:tKZpxD44 ポインタで挫折するってよく言われてるけど
アドレスの意味がわかってないだけ
int a = 1;
int* b= a;
a = 2;
int c = *b;
これでcに2が入ってないことがわからないとか論外だろ
アドレスの意味がわかってないだけ
int a = 1;
int* b= a;
a = 2;
int c = *b;
これでcに2が入ってないことがわからないとか論外だろ
651デフォルトの名無しさん
2021/02/25(木) 08:11:39.04ID:bxBNuN1v >>650
ごめん、わからんわ
ごめん、わからんわ
652デフォルトの名無しさん
2021/02/25(木) 09:08:33.19ID:2DtRWZ66 >>608
手順書がかりにあるとしてもという話だよアホが
手順書がかりにあるとしてもという話だよアホが
653デフォルトの名無しさん
2021/02/25(木) 09:12:18.10ID:bxBNuN1v654デフォルトの名無しさん
2021/02/25(木) 09:18:01.68ID:2DtRWZ66655デフォルトの名無しさん
2021/02/25(木) 09:18:59.00ID:2DtRWZ66 知ってるってことだけでマウンティングしようとしてるアホが君だよ、浅はかなのだよ
656デフォルトの名無しさん
2021/02/25(木) 09:21:13.40ID:2DtRWZ66 自動テストは底辺コーダの自己満と心に刻みなさい
657デフォルトの名無しさん
2021/02/25(木) 09:22:15.80ID:2DtRWZ66 テスト手順書という言葉は君の造語だと僕は思ってるけどね、一般的なものだとは思えない
658デフォルトの名無しさん
2021/02/25(木) 09:23:57.48ID:2DtRWZ66 自動テスト1万回回すより手動テスト一回の方が品質高い
659デフォルトの名無しさん
2021/02/25(木) 09:31:19.73ID:bxBNuN1v660デフォルトの名無しさん
2021/02/25(木) 09:35:33.88ID:2DtRWZ66 >>659
ははーん君は仮定が何かを知らないようだねえw
ははーん君は仮定が何かを知らないようだねえw
661デフォルトの名無しさん
2021/02/25(木) 09:37:40.49ID:2DtRWZ66 君は手順書wを知っていると言ってるだけの虚ろなテープレコーダーとなり下がった
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★4 [七波羅探題★]
- 中国軍機レーダー照射、トランプ氏沈黙突く 試される日本外交 [蚤の市★]
- 【広島】「万引きした人を追跡」コンビニ店員の男性(46)を果物ナイフで刺したか 中国籍の少年(17)を殺人未遂容疑で現行犯逮捕 [ぐれ★]
- 【地震】青森県で震度6強 長周期地震動も 津波注意報すべて解除 ★7 [ぐれ★] [ぐれ★]
- 【サッカー】58歳カズ「オファーが来ている」 J3福島と近日中にも交渉 早ければ年内にも決断 [征夷大将軍★]
- 【速報】気象庁は津波注意報すべて解除 [蚤の市★]
- 【実況】博衣こよりのえちえち朝こよ🧪
- (´・ω・`)おはよ
- さかまた「過呼吸になった」かなた「耳聞こえない」ござる「声出ない」まつり「ご飯食べれない」
- 【画像】カリカリ女、脱いだらすごい😨 [632966346]
- くそしてかがやけ
- 🪬本日のコンマ占い🧿
