クソコードとは何か

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

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

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

等、クソコードを見た時に「あっ、これクソコードだ」って認識する根拠を挙げていきましょう。
2021/02/26(金) 13:56:59.03ID:nwGfe0iv
自己満テストコード君
興奮スレ建て君
君たちに日本の未来を任せた
2021/02/26(金) 14:44:22.29ID:XCnNOCyO
単体テスト・テスト自動化・テストコードの必要性 2
https://mevius.5ch.net/test/read.cgi/tech/1614318232/
2021/02/26(金) 15:58:35.99ID:3WymOF2m
なんでスレ立て直すかな...
自演封じられると不都合あるの?
2021/02/26(金) 17:43:29.79ID:RgeNMGoP
>>714
事実でも嘘でも大問題ですね
2021/02/26(金) 18:19:35.79ID:KTQPKhRG
クソスレから派生スレ立てた上にその重複スレまで立てるとかマジ頭おかしい
2021/02/26(金) 18:22:47.93ID:y/9ce84r
>>731
いいんじゃねーの
自分しか使わんツールをシコシコ作ってたのかも知れんし
734デフォルトの名無しさん
垢版 |
2021/02/26(金) 19:00:59.16ID:iQO5Z3xR
あわしろ氏は、重複大いに結構と言ってたけどな。
2021/02/26(金) 21:06:44.19ID:RUEbYDb7
テストコードのテストは誰がやるんだ
2021/02/26(金) 21:11:56.20ID:MVwmWMo6
手動テストのテストは誰がやるんだ?
2021/02/26(金) 21:13:09.39ID:9y4w8ED+
隔離スレがIPアドレス丸出しだから
こっちでやるか
2021/02/26(金) 21:22:05.56ID:9y4w8ED+
前にいた自称(手動)テストのプロが
バグがあるバグがある!エビデンスもある!って
叫んでいてトラブルになったんだが
結局そいつがテスト手順を間違えていただけというオチだった
テスト手順書にしっかり書いてありますよねって問い詰めたらそいつやめたわwww
データを削除するって書いてるんだから、全部のデータを消すに決まってるだろと
購入データだけ消すなよアホかってな
2021/02/26(金) 21:27:03.87ID:sPHbC1so
ぜんぶ消したらテスト環境が消えました!
2021/02/26(金) 21:28:27.68ID:9y4w8ED+
>>739
アホか空気ぐらいよめや
2021/02/26(金) 21:28:31.08ID:sPHbC1so
テスト毎にぜんぶDBデータ消すこと。ただしDBはチーム共通。規約違反はテストと認めない。
チーム20人もいれば簡単ですよね
2021/02/27(土) 08:18:35.15ID:8gimEtnd
どっちでもいいから他所いけ、キ・チ・ガ・イ

単体テスト・テスト自動化・テストコードの必要性 2
https://mevius.5ch.net/test/read.cgi/tech/1614318232/

【隔離】単体テスト・テストコードの必要性
https://mevius.5ch.net/test/read.cgi/tech/1614310983/
2021/02/27(土) 08:48:42.05ID:ZW3ZqwOa
テストコードを書かないとクソコードになるという話題でもする?

テストコードを書くなどをして、自作のクラスを必要としているところ以外から呼び出さないと、気が付かない内に他のクラスとベッタリ依存するコードを書いたりしそうだが、そこら辺はどう?
2021/02/27(土) 10:03:55.32ID:OfxFNKjU
>>743
テストコード書かないんだから問題ない
テストコードは目的ではない
2021/02/27(土) 10:05:26.57ID:hpJz9JUm
じゃあ目的は?そしてその目的をよりよい方法で解決する手段は?

目的と手段の2つをお答えください(笑)
2021/02/27(土) 10:05:53.12ID:OfxFNKjU
テストコードこそがクソコード、これがこのスレの結論でしょうな
2021/02/27(土) 10:07:23.47ID:OfxFNKjU
>>745
プログラムの目的とはユーザを満足させること
そのための手段として実際に人間が使ってみること
こんなこと聞いてる時点でダメだよね
2021/02/27(土) 10:07:54.07ID:OfxFNKjU
クソコード生産マシンの皆さん
2021/02/27(土) 10:09:22.56ID:hpJz9JUm
>>747
料理の目的は、客を満足させること
料理の手段は、実際に人間が食べてみるとと

さて?料理はどうやって作るんですか?w
2021/02/27(土) 10:09:23.73ID:OfxFNKjU
テストコード実行することが目的の皆さんは底辺コーダです
2021/02/27(土) 10:11:27.64ID:ZW3ZqwOa
>>709
>>748
あんた、オブジェクト指向はクソとか言いまわってた挙げ句に厶板住民から総攻撃を食らって知的障害を起こしながらID真っ赤にして人が罵倒してた人でしょ?
文章がソックリだし、知的障害者を起こして人の話を聞かなくなるところもそっくりだわ

まぁ、1つだけ言えるのは、自分の非を認めず、是正する気のないお前のクソコードなんてテストしても時間の無駄だな
お前がテストは無駄だと感じるのは無理もない
クソコードスレなんで、是非、あんたのコードを晒してほしいものだ
良いクソコード事例として貢献できるぞ
2021/02/27(土) 10:12:27.68ID:OfxFNKjU
>>749
実食を重ねて試行錯誤していくに決まってる
料理の鉄人という番組がありましたね
実食によってどちらが優れた料理か決めてましたね
2021/02/27(土) 10:14:18.32ID:hpJz9JUm
>>752
> 実食を重ねて試行錯誤していくに決まってる

ではきこう。試行錯誤を1日に1000回やるにはどうしたら良いか?
2021/02/27(土) 10:14:34.77ID:OfxFNKjU
>>751
それただの人格攻撃ですね
はあ、論理的に議論できない人プログラマーにもいるんですね
2021/02/27(土) 10:15:32.69ID:OfxFNKjU
>>753
1000回やる根拠がないので質問の意味がない、ナンセンスの塊
2021/02/27(土) 10:16:31.76ID:hpJz9JUm
>>755
自分で実食を重ねると言っておきながら
実食の回数を否定するのか?w
2021/02/27(土) 10:18:22.80ID:OfxFNKjU
>>756
よく読んでください、1000回という数字に根拠がないと言ってます、また手段と目的を見誤ってますね
2021/02/27(土) 10:19:07.52ID:OfxFNKjU
数字を増やすことが目的になっておられる
2021/02/27(土) 10:19:40.92ID:hpJz9JUm
>>757
1000回という回数にこだわってるのはお前
試行錯誤の回数は多いほうが良いと言っている
より多く試行錯誤をするにはどうすればいいか
実食を重ねて試行錯誤していくに決まってる(笑)
2021/02/27(土) 10:19:59.65ID:OfxFNKjU
こんなんだから日本はまともなソフトウェアを作れないんでしょうね
2021/02/27(土) 10:21:58.68ID:OfxFNKjU
>>759
おやおやそれは無理がありすぎでしょうw
1000回という数字を出してそれを達成するにはどうすればよいかを聞いたのはあなたでしょう、他人のせいにしないでください
2021/02/27(土) 10:22:42.60ID:OfxFNKjU
>>753であなたが言ってますよ
2021/02/27(土) 10:24:17.05ID:b2AUxonB
反論できなくなったらこれだから日本は〜ってださすぎるだろ
そもそもIT先進国の方がテスト文化進んでるだろうに
2021/02/27(土) 10:24:31.17ID:OfxFNKjU
日本からユーチューブやツイッターが生まれないのはユーザを見ずにコードを見てるからです
2021/02/27(土) 10:25:42.78ID:ZW3ZqwOa
>>761
単体テストってビルドする度に実行するものだけど、理解できてます?
まさか、そんなことも理解せずに単体テスト批判してたの?
あと、クソコードスレなんで、是非、クソコード事例書いてみて
生産性のないお前の愚痴とか相手を挑発するだけで中身のない批判とかどうでもいいから
2021/02/27(土) 10:26:12.15ID:ZW3ZqwOa
あと、クソコードの話と絡めることができないのなら、隔離スレ行ってくれませんか?
2021/02/27(土) 10:28:16.32ID:OfxFNKjU
>>765
いつ実行するかをあなたは話してますね、ふーんって思いました、なんでそんな話をしてくるんだろう
2021/02/27(土) 10:28:52.51ID:OfxFNKjU
>>766
テストコード=クソコード
なのです
2021/02/27(土) 10:30:34.90ID:ZW3ZqwOa
>>768
理由は?
あと、俺が最初に挙げたテスト対象コードの依存の話は?
2021/02/27(土) 10:30:45.78ID:OfxFNKjU
あれを知ってるかこれを知ってるか、そんなことも知らないのか、民主党の国会質疑みたいですね
2021/02/27(土) 10:32:30.36ID:OfxFNKjU
>>769
テストコードを書くとテストコードを実行することやテストコードをきれいに書くことが目的なってしまうからです、このスレの議論を見ればよくわかりますね
2021/02/27(土) 10:32:39.93ID:ZW3ZqwOa
はあ、論理的に議論できない人プログラマーにもいるんですね(皮肉)
2021/02/27(土) 10:35:35.35ID:OfxFNKjU
言うに事欠いて僕の真似をするとは、良いでしょう、あなたがその言葉を発言することを許諾します
2021/02/27(土) 10:36:03.25ID:OfxFNKjU
許しました、僕は心が広いので
775デフォルトの名無しさん
垢版 |
2021/02/27(土) 10:54:25.52ID:Yt5NHAzi
NG推奨:テスト
776デフォルトの名無しさん
垢版 |
2021/02/27(土) 13:00:30.28ID:NhoBp4qK
>>742
クソコーダーはクソスレ建てるのがお上手ですね!
2021/02/27(土) 14:21:58.44ID:o6FTnlQR
まずこのスレがクソスレじゃん
どんなジャンルで悪いお手本をあげつらって技術磨くってのが成り立つんだよ
状況によって対応が細かく変わりうるプログラムってジャンルだと尚更ねーよ
2021/02/27(土) 14:31:49.87ID:EOMk/snY
>>777
は?アンチパターン知らないのなら
2021/02/27(土) 14:32:21.56ID:EOMk/snY
は?アンチパターンも知らないのなら引っ込んでろ底辺プログラマー。
2021/02/27(土) 14:41:04.16ID:OfxFNKjU
アンパンチなら知ってるけど
2021/02/27(土) 14:42:05.95ID:OfxFNKjU
僕はバイキンマンがおしゃれだと思うし好きですけど
2021/02/27(土) 14:43:15.22ID:OfxFNKjU
ドキンちゃん、メロンパンナちゃんは可愛いです
2021/02/27(土) 14:45:08.51ID:OfxFNKjU
天どんマンとカバオくんは渋くて好きです
2021/02/27(土) 14:46:27.65ID:OfxFNKjU
愛と勇気だけが友だちという歌詞も深いですよね、大人の心にも響きます
2021/02/27(土) 14:50:27.61ID:Rkj+zBYu
>>777
スレ主がコンテキストを理解しない底辺プログラマーだから許してあげてね
2021/02/27(土) 15:25:16.36ID:srgcqAD7
コンテキスト?
Device Contextとか、Android Activityとかのコンテキスト?
2021/02/27(土) 15:47:29.01ID:qhUfxMpi
多分コンテキストって言いたかっただけなんだろうと思う…
2021/02/27(土) 16:37:52.70ID:OfxFNKjU
>>786
文脈って意味ですよ
789デフォルトの名無しさん
垢版 |
2021/02/27(土) 16:55:56.55ID:lzDnqtNz
俺は、あわしろ氏を信じる。

お前の言うことは信用しない。
790デフォルトの名無しさん
垢版 |
2021/02/28(日) 03:55:51.43ID:BRDX8bQ+
天ぷらだとうどんと蕎麦のどっちが好き?
2021/02/28(日) 03:57:33.36ID:Gc6Q6B7T
カレー
792デフォルトの名無しさん
垢版 |
2021/02/28(日) 03:59:46.09ID:BRDX8bQ+
>>791
天ぷら前提なんだが、レスがハエーから許す
2021/02/28(日) 04:04:03.84ID:Gc6Q6B7T
天ぷらカレー
794デフォルトの名無しさん
垢版 |
2021/02/28(日) 04:07:35.88ID:BRDX8bQ+
>>793
うどんか蕎麦で
2021/02/28(日) 04:53:09.79ID:Gc6Q6B7T
カレーどんぶり
2021/02/28(日) 09:53:36.42ID:fiymphDk
>>792
みなさんこれがクソコードです
2021/02/28(日) 17:33:35.64ID:JGZwcedL
最初は有意義になるかなと思ったのにクソスレになったな
2021/02/28(日) 17:44:13.70ID:VO7rpKqD
>>797
そう思ってたのはスレ主だけだろw
スレタイ & 1スレでどっちみちクソスレになるのは確定してた
2021/02/28(日) 22:04:12.82ID:AdiQic6X
5chに有意義なことを期待する時点で
2021/02/28(日) 22:29:20.29ID:HY9f+UaN
Qiitaでもクソコード云々言って炎上してる記事があったな
2021/02/28(日) 23:14:06.43ID:797yScED
>>800
試しにクソコードでQiitaを検索してみたがポエムばっかりで面白いのなかったな
↓これが視点としては面白かったけど処理分割のアプローチ間違ってるから新たなクソコードが出来そう
https://qiita.com/teradonburi/items/6483e51d5f9d47f5c22a
2021/02/28(日) 23:55:31.04ID:VPMHnl/e
>>798
いや、スレ主じゃないけどアンチパターン研究スレは厶板に必要だとは思うよ
文脈から察せない人が暴れただけで
2021/03/01(月) 00:40:02.48ID:p4pc8RdJ
>>802
アンチパターンを集めたかったんなら
スレタイと1スレをそうなるよう書けって話だろ
アンチパターンとクソコードは全く別物なんだよ
コンテキストを理解してないと言われてる理由と合わせて最低限パターン・ランゲージくらいは学んでこい


ちなみに「いや」から書き始めるレスはクソレス・パターンだからな
2021/03/01(月) 02:16:03.17ID:6wDZP3ri
>>803
君がコミュ障パターンなだけだろ
2021/03/01(月) 02:47:59.87ID:o92pxtgz
>>804
そうやって自分でクソスレにしてんだよな
クソスレ主あってのクソスレ(ム板拡張版w)
2021/03/01(月) 02:51:31.50ID:g6QBZhEL
アンチパターンを取り上げてる本でオススメある?
SQLアンチパターンを読んで得るものが多かったので
2021/03/01(月) 06:38:18.35ID:6wDZP3ri
>>805
ほうクソの定義とは何かね
2021/03/01(月) 06:39:15.47ID:6wDZP3ri
マーチン・ファウラーのりファクタリングやろな
2021/03/01(月) 06:52:02.27ID:6wDZP3ri
>>805
おいお前話を広げろ、今のお前は他人のヘイトやってるだけのクソ野郎だからそうじゃないところを見せろ
2021/03/01(月) 06:56:37.18ID:6wDZP3ri
あ、間違ってたも
>>805は僕に同意してたわけね
でも僕は敏感な人間だから僕に言われてることだと思った、だけれども紛らわしい言い方した君が悪い、僕は絶対に悪くないからこの件は以後言及することを禁止します、以上
2021/03/01(月) 07:06:26.34ID:6wDZP3ri
上に出てるパターン・ランゲージってアレクザンダーの都市計画理論だろ、プログラミングの本じゃない、そんなたとえ話のようなものでわかった気になるのは危ない

Twitterでも建築の本読んでオブジェクト指向がどうとか言ってる人いるけどポストモダンなソーカル野郎としか思えないんだよなあ、関係のないことを関係づけてそこに気づいた自分が賢いと思いこんでしまうクルクルパー、地頭の良い人が陥りやすい穴のように見える
2021/03/01(月) 08:09:59.68ID:Dkl+jirL
40年近く前の本だしFORTRAN, PL/1が題材だから今の言語に合わない箇所もあるけど名著だと思う

プログラム書法 第2版 / Brian W.カーニハン P.J.Plauger 著 木村 泉 訳 | 共立出版
https://www.kyoritsu-pub.co.jp/bookdetail/9784320020856
2021/03/01(月) 08:21:42.09ID:VB40xofU
プログラミング作法の方が良いと思うよ
2021/03/01(月) 11:23:05.55ID:vk4XQtG7
中国行くと肛門PCR検査
815802
垢版 |
2021/03/01(月) 12:23:46.76ID:sbiXUVTE
コミュ症の自覚がない>>803
2021/03/01(月) 17:40:20.81ID:scPLhEmU
>>803
まーた、詭弁デメテルバカが発狂してるよ
一番勉強が足りてないお前が勉強してないっていうねw
頼むから、一生ROMってろ
2021/03/01(月) 20:15:47.54ID:XEpCIBIH
コードとはまた違うけど
javaのインターフェースとインプリメントはクソだなと思う
無駄にファイル数増えてクソうざい
2021/03/01(月) 20:59:56.79ID:lUjHuGPy
interfaceがクソってw
オブジェクト指向知らないのではw
2021/03/01(月) 21:16:55.91ID:4ocrwkuw
これだからJava脳はw
言語周りで幼稚な愚痴垂れ流してるやつのJava率の高さったらない
2021/03/01(月) 22:39:30.52ID:o/aEg2l/
>>811
GoFのデザインパターンも、ファウラーのリファクタリングも、エリックエバンスのDDDもみんなパターン・ランゲージ

それぞれのパターン・ランゲージに共通する要素は何なのか?
なぜパターンがソフトウェア開発に有用なのか?
この辺を学んで出直してくるといいんじゃね
2021/03/01(月) 22:48:23.51ID:o/aEg2l/
クソコードと言うのは単なるBad Practiceの一種であってアンチパターンとは違うもの

アンチパターンの意味を理解せずにアンチパターンの研究とかまあ無理よね
822デフォルトの名無しさん
垢版 |
2021/03/01(月) 23:16:44.33ID:vk4XQtG7
>>818
abstractだけでいいって事では?
2021/03/01(月) 23:43:38.69ID:f1Pg/hcl
C#やるとJavaのいろいろ足りてない部分はめちゃくちゃ実感する
2021/03/02(火) 00:47:10.90ID:k1c4vJst
>>820
君が何を学んだかを教えてよ
825デフォルトの名無しさん
垢版 |
2021/03/02(火) 03:20:46.99ID:9w2EW+ai
いちいち2chで教えなくていいから
2021/03/02(火) 10:54:48.23ID:MXVQCo9F
Anti-pattern
https://en.wikipedia.org/wiki/Anti-pattern
2021/03/02(火) 11:43:32.18ID:sTNRmcJa
>>818
そのインターフェース本当に必要?ってのが大半
他クラスとは何も関係無い孤立したクラスなのにインターフェース実装されてるの見たことある?
javaやってる感出すためだけにファイル数が2倍になるゴミ
■ このスレッドは過去ログ倉庫に格納されています