このスレはクソコードとは何かを考えるスレです。
・親クラスが子クラスに依存する処理を持つコード
例...社員クラスを継承した正社員クラスと派遣社員クラスがあり、社員クラスが正社員クラスの知識を持つ状況
・staticにするべきではないモデルにまでstaticにする人
例...社員クラスのメソッドを全てstaticにしたり、社員クラスにシングルトンパターンに相応するものを適用する人
等、クソコードを見た時に「あっ、これクソコードだ」って認識する根拠を挙げていきましょう。
探検
クソコードとは何か
■ このスレッドは過去ログ倉庫に格納されています
2021/01/30(土) 17:33:05.78ID:BjNTZWUI
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を知っていると言ってるだけの虚ろなテープレコーダーとなり下がった
662デフォルトの名無しさん
2021/02/25(木) 09:40:12.87ID:2DtRWZ66 テスト手順書という言葉自体一般社会では通用しない代物だから知らなくていいものだとは思ってるが仮にそのような下賤なものがあるとしても問題ないと言ってるのだよ、ここまで噛み砕かないとわからないかな
663デフォルトの名無しさん
2021/02/25(木) 09:42:43.67ID:bxBNuN1v 相変わらずキチのままだな
存在の仮定には反論してないぞ
そんなことも分かってないだろw
存在の仮定には反論してないぞ
そんなことも分かってないだろw
664デフォルトの名無しさん
2021/02/25(木) 10:09:07.67ID:R7WVwVFS 誰か>>650の相手してやれよ(2行目
665デフォルトの名無しさん
2021/02/25(木) 11:15:52.49ID:2DtRWZ66 >>663
反論してないのな
反論してないのな
666デフォルトの名無しさん
2021/02/25(木) 11:16:02.45ID:2DtRWZ66 >>664
アンドな
アンドな
667デフォルトの名無しさん
2021/02/25(木) 11:18:21.06ID:2DtRWZ66 >>664
あれ、でもこれ2が入ってないことと言ってるからアンドなくていんじゃね
あれ、でもこれ2が入ってないことと言ってるからアンドなくていんじゃね
668デフォルトの名無しさん
2021/02/25(木) 11:31:45.02ID:R7WVwVFS669デフォルトの名無しさん
2021/02/25(木) 11:35:19.84ID:bxBNuN1v >>664
C言語すら怪しいのにドヤってるやつの相手しろってか?w
C言語すら怪しいのにドヤってるやつの相手しろってか?w
670デフォルトの名無しさん
2021/02/25(木) 11:35:58.12ID:bxBNuN1v >>665
反論はしてない、お前のアホさを指摘してるだけw
反論はしてない、お前のアホさを指摘してるだけw
671デフォルトの名無しさん
2021/02/25(木) 12:13:25.25ID:2DtRWZ66 >>668
それはOSによるんじゃないかな
それはOSによるんじゃないかな
672デフォルトの名無しさん
2021/02/25(木) 12:13:36.12ID:2DtRWZ66 >>670
反論してないのな
反論してないのな
673デフォルトの名無しさん
2021/02/25(木) 12:14:48.54ID:2DtRWZ66 なんだ反論してなかったのか
僕の主張が全面的に正しくて反論の余地が一切なかったということか
僕の主張が全面的に正しくて反論の余地が一切なかったということか
674デフォルトの名無しさん
2021/02/25(木) 12:16:12.07ID:2DtRWZ66 2であることは保証されないよねって論旨だからOSによる動作の違いは些末なものさ
675デフォルトの名無しさん
2021/02/25(木) 12:18:43.21ID:2DtRWZ66 自動テストは底辺コーダの自己満です、システムの品質は一切上がりません、自動テストは80年代の手法
676デフォルトの名無しさん
2021/02/25(木) 12:46:09.79ID:R7WVwVFS 環境によるって話なら2が入る可能性もあるよw
677デフォルトの名無しさん
2021/02/25(木) 13:26:17.62ID:bxBNuN1v >>668
未定義動作だからそもそもcがないとかw
未定義動作だからそもそもcがないとかw
678デフォルトの名無しさん
2021/02/25(木) 13:26:53.04ID:bxBNuN1v >>673
アホさの指摘には触れられないってか?w
アホさの指摘には触れられないってか?w
679デフォルトの名無しさん
2021/02/25(木) 14:37:56.27ID:LJq279gj int a = 1;
int* b= a;
2行目の暗黙的変換がエラーにならないのって相当古い実装だよね。今でもあるのかな?
int* b= a;
2行目の暗黙的変換がエラーにならないのって相当古い実装だよね。今でもあるのかな?
680デフォルトの名無しさん
2021/02/25(木) 15:33:47.71ID:tKZpxD44 入ってることがわからない、だった
681デフォルトの名無しさん
2021/02/25(木) 15:54:22.42ID:2DtRWZ66 >>676
それは環境依存だから保証されないよねってことさ
それは環境依存だから保証されないよねってことさ
682デフォルトの名無しさん
2021/02/25(木) 15:57:22.21ID:2DtRWZ66 >>678
その言動がアホっぽいw
その言動がアホっぽいw
683デフォルトの名無しさん
2021/02/25(木) 15:58:24.50ID:2DtRWZ66 >>679
コード的にはなんの問題もないからなあ
コード的にはなんの問題もないからなあ
684デフォルトの名無しさん
2021/02/25(木) 16:00:03.24ID:2DtRWZ66 >>680
そこの君ぃそれはおかしいぞ君ぃ
そこの君ぃそれはおかしいぞ君ぃ
685デフォルトの名無しさん
2021/02/25(木) 16:35:21.09ID:bxBNuN1v686デフォルトの名無しさん
2021/02/25(木) 16:44:31.71ID:2DtRWZ66 >>685
そっくりそのまま返すわ
そっくりそのまま返すわ
687デフォルトの名無しさん
2021/02/25(木) 16:45:23.32ID:2DtRWZ66 僕は鏡、君はスケベ椅子
688デフォルトの名無しさん
2021/02/25(木) 16:47:45.65ID:cAbWQIRq689デフォルトの名無しさん
2021/02/25(木) 16:53:27.63ID:bxBNuN1v690デフォルトの名無しさん
2021/02/25(木) 16:53:58.85ID:R7WVwVFS >>680
int c = *b; の時、b = 1だから、1番他のint型の内容をcに入れてるよ
int c = *b; の時、b = 1だから、1番他のint型の内容をcに入れてるよ
691デフォルトの名無しさん
2021/02/25(木) 16:57:15.36ID:2DtRWZ66 >>689
はいはいまとめると反論ありませんってことな
はいはいまとめると反論ありませんってことな
692デフォルトの名無しさん
2021/02/25(木) 17:01:11.50ID:2DtRWZ66 僕の鉄のような正論の前で反論できなさすぎて悔しくて僕の人格を貶めようと頑張っておられるところ恐縮ですが反論ないのな
693デフォルトの名無しさん
2021/02/25(木) 17:05:53.09ID:0Aa2beUH あわしろ氏は、 >>692 は勉強しなおすべきと言ってたな。
694デフォルトの名無しさん
2021/02/25(木) 17:22:49.64ID:bxBNuN1v695デフォルトの名無しさん
2021/02/25(木) 18:01:57.08ID:2DtRWZ66 >>694
反論ないのな
反論ないのな
696デフォルトの名無しさん
2021/02/25(木) 18:02:38.68ID:2DtRWZ66 >>693
あわしろってLinux板で叩かれてるやつだろ
あわしろってLinux板で叩かれてるやつだろ
697デフォルトの名無しさん
2021/02/25(木) 18:59:36.92ID:bxBNuN1v698デフォルトの名無しさん
2021/02/25(木) 19:03:00.55ID:d2pfH4ce >>697
> バカはレスできなくなると同じ内容をひたすら繰り返すようになるのな
↓これなw
675 名前:デフォルトの名無しさん[sage] 投稿日:2021/02/25(木) 12:18:43.21 ID:2DtRWZ66 [17/27]
自動テストは底辺コーダの自己満です、システムの品質は一切上がりません、自動テストは80年代の手法
> バカはレスできなくなると同じ内容をひたすら繰り返すようになるのな
↓これなw
675 名前:デフォルトの名無しさん[sage] 投稿日:2021/02/25(木) 12:18:43.21 ID:2DtRWZ66 [17/27]
自動テストは底辺コーダの自己満です、システムの品質は一切上がりません、自動テストは80年代の手法
699デフォルトの名無しさん
2021/02/25(木) 19:29:01.20ID:NnkAM5s4 Googleのエンジニアに「自動テストは時間の無駄だから手動テストにしろ」って言えたら本物だよ
700デフォルトの名無しさん
2021/02/25(木) 20:08:29.75ID:2DtRWZ66 >>698
これ正しいな
これ正しいな
701デフォルトの名無しさん
2021/02/25(木) 20:15:40.28ID:GSBW3E39 自動テストサイクルが回ってるの見たことない
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★3 [七波羅探題★]
- 【速報】 米トランプ政権声明 「中国が台湾を奪おうとする、いかなる試みも阻止する」 中国「レッドラインだ」 [お断り★]
- 高市内閣「支持」64%「不支持」19% NHK世論調査 ★2 [少考さん★]
- 【東京】玉川高島屋「シャネル」で窃盗容疑 バッグ210万円相当、無職少年(18)逮捕 買い取り店で身分証提示できず売却失敗 [ぐれ★]
- 【維新】奥下衆院議員 政治資金でキャバクラとラウンジに支出 費用は返金へ 「国民の皆さんからすれば『税金で』という思いが強い」 [ぐれ★]
- 高市首相「多様なコメの増産を進める」 方針転換への懸念払拭狙いか ★2 [どどん★]
- ラーメンと電車とアニメとV好きなネトウヨ [907330772]
- ニュー速(嫌儲)「撮り鉄を叩いているのはネトウヨ。ケンモメンは撮り鉄を叩かない。撮り鉄は嫌儲公認趣味」 [932029429]
- まったりおじゃる丸まったり待機スレ🏡
- 女っていらないよな
- イーノック、そんな装備で大丈夫か?
- 国民の半分が日中戦争を支持しているという現実…冷静に考えるとヤバイよ? [819729701]
