このスレはクソコードとは何かを考えるスレです。
・親クラスが子クラスに依存する処理を持つコード
例...社員クラスを継承した正社員クラスと派遣社員クラスがあり、社員クラスが正社員クラスの知識を持つ状況
・staticにするべきではないモデルにまでstaticにする人
例...社員クラスのメソッドを全てstaticにしたり、社員クラスにシングルトンパターンに相応するものを適用する人
等、クソコードを見た時に「あっ、これクソコードだ」って認識する根拠を挙げていきましょう。
探検
クソコードとは何か
■ このスレッドは過去ログ倉庫に格納されています
2021/01/30(土) 17:33:05.78ID:BjNTZWUI
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を知っていると言ってるだけの虚ろなテープレコーダーとなり下がった
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 は勉強しなおすべきと言ってたな。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【地震速報】青森県で震度6強 沿岸部に津波警報 ★2 [ぐれ★]
- 【地震速報】青森県で震度6強 沿岸部に津波警報 ★3 [ぐれ★]
- 【速報】高市総理が官邸入り [Hitzeschleier★]
- 「日の丸にバツ印」掲げた大学生 あいまいな国旗損壊罪に「怖い」 The Mainichi [少考さん★]
- 【震度6強】政府 危機管理センターに官邸対策室を設置 [ぐれ★]
- 青森で火事 [Hitzeschleier★]
- 【悲報】高市早苗、議員定数1割削減の根拠を答えられず終了 [834922174]
- 地震 ★2
- 【速報】高市早苗、起床 [779938112]
- ぺこーら、地震で同僚が次々配信を止めるなか強行し続けるので悪目立ちするwww [268244553]
- 巨大地震 [957955821]
- 高市すごい勢大発生 [256556981]
