このスレはクソコードとは何かを考えるスレです。
・親クラスが子クラスに依存する処理を持つコード
例...社員クラスを継承した正社員クラスと派遣社員クラスがあり、社員クラスが正社員クラスの知識を持つ状況
・staticにするべきではないモデルにまでstaticにする人
例...社員クラスのメソッドを全てstaticにしたり、社員クラスにシングルトンパターンに相応するものを適用する人
等、クソコードを見た時に「あっ、これクソコードだ」って認識する根拠を挙げていきましょう。
探検
クソコードとは何か
■ このスレッドは過去ログ倉庫に格納されています
2021/01/30(土) 17:33:05.78ID:BjNTZWUI
2021/01/30(土) 17:33:42.44ID:BjNTZWUI
もうレスバの予感しかしない。
産まれたての子鹿のように震えてるよ。
産まれたての子鹿のように震えてるよ。
2021/01/31(日) 10:20:47.27ID:9VN6dodl
>>1
クソはお前の頭だよ
クソはお前の頭だよ
4デフォルトの名無しさん
2021/01/31(日) 11:28:04.42ID:X7lGC0go iostream ωωω
2021/01/31(日) 12:06:18.22ID:otlkJ8kc
>>3
staticおじさん乙
staticおじさん乙
2021/01/31(日) 12:22:48.25ID:Nt4hAxS1
開幕から自分のコードに突き刺さって痛い
7デフォルトの名無しさん
2021/01/31(日) 12:46:25.58ID:I1+jaQmy . /⌒ヽ
∩ ^ω^) な ん だ
| ⊂ノ
| _⊃
し ⌒. ___
_/ ⌒ ⌒ \ うん、うん、
/)) (●) (●) ヽ それで?
|∩ (_人_) |
/ ノ、_ヽノ_ノ ̄)
/ / /フ_/
L_/\ \(
∩ ^ω^) な ん だ
| ⊂ノ
| _⊃
し ⌒. ___
_/ ⌒ ⌒ \ うん、うん、
/)) (●) (●) ヽ それで?
|∩ (_人_) |
/ ノ、_ヽノ_ノ ̄)
/ / /フ_/
L_/\ \(
2021/01/31(日) 12:59:59.35ID:Nt4hAxS1
テストコードが無いのにテストしたとか言うプログラマーの提出するコード
2021/01/31(日) 16:11:11.70ID:MhKR2tlg
同じコードを何度も書く
2021/01/31(日) 16:33:43.28ID:Kwx3DUOx
コードとコードつなぎ合わせて一つのプログラム作ったけどごちゃごちゃでクソコードになってたw
2021/01/31(日) 16:59:37.31ID:Ti7TRi+9
function getPrice(id) {
const price = clothPrice.filter({ id }).first()
return price
}
はい、どこがクソか指摘してみて
const price = clothPrice.filter({ id }).first()
return price
}
はい、どこがクソか指摘してみて
2021/01/31(日) 17:27:33.78ID:JUmaLjMc
どこもクソじゃない
2021/01/31(日) 17:28:15.94ID:TZSorCef
2021/01/31(日) 17:29:51.90ID:JUmaLjMc
>>13
理由を言えないならそれはレビューではない
理由を言えないならそれはレビューではない
2021/01/31(日) 17:33:42.78ID:TZSorCef
まず、このコードを見てクソだと気がつけない人相手だと、言い方が重要。
だから、説明に困ってる。
なぜ、気が付かないのかとか。
考えてるだけだよ。気がついた人は先に理由を述べてほしいが。
だから、説明に困ってる。
なぜ、気が付かないのかとか。
考えてるだけだよ。気がついた人は先に理由を述べてほしいが。
2021/01/31(日) 17:35:04.85ID:JUmaLjMc
2021/01/31(日) 17:40:45.07ID:TZSorCef
getPrice(id) 関数とclothPrice.filter({ id }).first()
ってやってる事は一緒だよね?
責務も殆ど一緒。
些細な違いと言えばfirst以外を呼べなくしたことだが...
たぶん、インスタンスの名称からしてclothPriceをユーザー側に隠蔽する必要も無いのに隠蔽し、挙げ句に役割のかぶったほぼ無意味な関数を無駄に増やしてしまってる。
だから、クソ...だと思った。
ってやってる事は一緒だよね?
責務も殆ど一緒。
些細な違いと言えばfirst以外を呼べなくしたことだが...
たぶん、インスタンスの名称からしてclothPriceをユーザー側に隠蔽する必要も無いのに隠蔽し、挙げ句に役割のかぶったほぼ無意味な関数を無駄に増やしてしまってる。
だから、クソ...だと思った。
2021/01/31(日) 17:42:50.72ID:TZSorCef
あと、一言で言えば...もしかしてドメインモデル貧血症?
2021/01/31(日) 17:46:41.31ID:JUmaLjMc
> getPrice(id) 関数とclothPrice.filter({ id }).first()
> ってやってる事は一緒だよね?
関数とその中のコードが
やってることが一緒になるのは当たり前です。
関数にする意味は、コードの可読性を上げるためです。
「clothPrice.filter({ id }).first()って何やってるの?」
「Priceをgetしてます!( getPrice(id))!」
という会話がコードレビューであるだろうなと少しでも思ったら
それは関数にすることで可読性が上がっているということです。
> ってやってる事は一緒だよね?
関数とその中のコードが
やってることが一緒になるのは当たり前です。
関数にする意味は、コードの可読性を上げるためです。
「clothPrice.filter({ id }).first()って何やってるの?」
「Priceをgetしてます!( getPrice(id))!」
という会話がコードレビューであるだろうなと少しでも思ったら
それは関数にすることで可読性が上がっているということです。
2021/01/31(日) 17:57:42.08ID:TZSorCef
>>19
> > getPrice(id) 関数とclothPrice.filter({ id }).first()
> > ってやってる事は一緒だよね?
>
> 関数とその中のコードが
> やってることが一緒になるのは当たり前です。
実装対象の仕様が1行程度のコードで住んでいる点をまず気にして。
> 関数にする意味は、コードの可読性を上げるためです。
可読性は上がったのだろうか?
だって、何のインスタンスのオブジェクトが返されるか名前から想像できますか?
> > getPrice(id) 関数とclothPrice.filter({ id }).first()
> > ってやってる事は一緒だよね?
>
> 関数とその中のコードが
> やってることが一緒になるのは当たり前です。
実装対象の仕様が1行程度のコードで住んでいる点をまず気にして。
> 関数にする意味は、コードの可読性を上げるためです。
可読性は上がったのだろうか?
だって、何のインスタンスのオブジェクトが返されるか名前から想像できますか?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 空自機レーダー照射、音声データ公開 中国 ★3 [蚤の市★]
- 日銀「歴史的」利上げ迫る 35年ぶりの年間上げ幅、0.5%の壁を突破 [蚤の市★] [蚤の市★]
- 津波警報の発表中にグーグル検索、AIが「すべて解除」と誤情報 [蚤の市★]
- 【YouTuber】バイク事故で入院のゆたぼん、振込で「お見舞金」募る [muffin★]
- 【テレビ】家入レオ 高校時代は親友なし 唯一の仲間が現在は超人気女優 「ずっとお互いに本を読んで」 [湛然★]
- 低所得層のマクドナルド離れが深刻に 広がる「ファストフード格差」の真相 米国 [少考さん★]
- 【実況】博衣こよりのえちえち朝活🧪
- 寒すぎてハゲたんやが
- ケツマンコが痒いんだが
- 【高市悲報】日本人のTikTokアカウントが続々収益化剥奪中!!乞食どもざまああああああああwwwwwww [394917828]
- (´・ω・`)あの時はごめんね
- 【悲報】婚活女子(38)「婚活パーティーに行ったら婚活男性の大部分が年収350万円身長165cm未満のコミュ障子供部屋おじさんで絶望してる… [257926174]
