[過去ログ] 【IT】本当にあった怖いプログラム(クソコード事例集) (827レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
1(10): ノチラ ★ 2018/04/27(金)21:01 ID:CAP_USER(1) AAS
命名規則に関連するクソコード
クラス名、メソッド名、変数名などのネーミングを誤るとクソコード認定されてしまいます。会社やプロジェクトごとに多少のルールの違いはあるにせよ、どこに行っても漏れなくクソコード認定されてしまうネーミングパターンのご紹介です。
ネーミングが「記号+番号」
クラス名や変数名はわかりやすい名称にしましょう。ネーミングを見て内容を推測できるようになっていることが重要です。「記号+番号」ではそれを見るだけでは何のプログラムであるかを推測することは不可能です。
ネーミングに日本語、英語、ローマ字が混在
プロジェクトによってクラス名や変数名のネーミングルールは異なりますので、何がダメだというわけではありませんが、自由すぎるネーミングを行うのはやめましょう。きちんとプロジェクトでルールを統一することは重要です。
またにクラス名や変数名に日本語を使用することは言語仕様上可能とはなっておりますが、アルファベットを使うことが慣習となっていることと、日本語だとIDEの補完機能がうまく機能しないことがあって非効率化の原因となりますので、避けた方が無難です。
ネーミングにスペルミスがある
ネーミングでスペルミスがあると、後でソースコードから文字列で該当箇所を検索する時に検索にヒットせず、改修漏れの原因にもなります。正しいスペルと間違ったスペルが混在していたりするともう最悪です。スペルミスのないように気をつけましょう。
省19
3(4): 2018/04/27(金)21:13 ID:qtGcbreb(1) AAS
今まで見た一番難解だったプログラムは、
GOTO文でデータ部にジャンプして、そのデータ部が実はマシン語だったケース。
4(3): 2018/04/27(金)21:15 ID:SkldR2qv(1/3) AAS
1行目がGOTO文なBASICプログラム
10(3): 2018/04/27(金)21:31 ID:ydDj1iFm(1) AAS
YAMAUCHI
31(4): 2018/04/27(金)22:06 ID:bipmPmmw(2/3) AAS
>>1
>「ゲッターでグローバル変数を変更している」
これの意味が解らないんですが、具体的にどういうこと?
38(10): 2018/04/27(金)22:11 ID:lCBOv6HT(1) AAS
A君: とにかくコードが汚くて読みづらい。注意しても「動けば何でもいい」と言ってきれいに書こうという気持ちさえない。
B君: とにかくコードがきれいで読みやすい。同僚の書くコードに対して「そんな書き方じゃダメ」と言って細かく注意して指導してくる。
同僚にしたくないのはどっち??
87(3): 2018/04/27(金)23:36 ID:6m2JOZRQ(1) AAS
万里の長城のような超大作SQLを文字列連結で組み立て
107(3): 2018/04/28(土)01:29 ID:nk+vEPTZ(1/3) AAS
DRY(Dont Repeat Yet)ってRailsの概念のひとつで、
個人的にはこんなの当たり前にやるもんだと思ってたけど
モノシリックなプログラムが好きな人間がいるな。
あれなんなの?
あと、MVCフレームワークで、コントローラが異様に長いプログラムって
結構巷にあふれている気がする
167(4): 2018/04/28(土)09:34 ID:Y0eKt38i(2/3) AAS
# なぜかこのif文があると動作する、削除禁止
if ( hoge == 0 ) {}
とかいうソースコードもたまに見た気がする。
でも、昔は実際に意味不明なエラーに意味不明な対策があったりした。
184(4): 2018/04/28(土)10:41 ID:X8HMIZbr(1) AAS
インクリメント忘れて無限ループ
206(11): 2018/04/28(土)12:57 ID:f4/sW+De(1) AAS
どっち派?
if (…){
}
if (…)
{
}
258(3): 2018/04/28(土)18:27 ID:qsgPqnP/(2/2) AAS
最近見かけた糞コードは、一度も値が代入されていないローカル変数を使ってる
プログラムと、時々ゼロ除算割り込みが発生するプログラム。
どっちも、先進運転支援システム(ADAS)製品のファームウェアで、これ使った
日本車が街中を走ってる。
444(3): 2018/05/02(水)21:59 ID:tkdOFaaf(2/4) AAS
>>440
業務系やってないから分からんが、販売や売上しか関係しないシステムなら tax で十分だろ。
会見システムみたいに税の種類がいろいろあるなら consumptionTax とかでいいんじゃないの。
450(3): 2018/05/02(水)22:12 ID:vngYDGhd(1) AAS
オブジェクト指向言語を使うのならGoFのデザインパターンくらいは知っておくべき
…だと思うんだがウチの現場だと知らない人が圧倒的多数
457(3): 2018/05/02(水)22:59 ID:aKcLT2Kv(1) AAS
こういうのかく人許せる?
char i
for(i=0; i<10000; i++)
{
}
485(3): 2018/05/03(木)01:01 ID:vjyihB29(1) AAS
>>479
俺、インデント嫌い。
if ( ... ) {
...長いコード...
...長いコード...
...長いコード...
}
return ...
↑これ書くなら、↓こう書くべき。
if ( ! ... ) return ...
省3
559(4): 2018/05/03(木)23:51 ID:R6ZploHB(1) AAS
>>485
return で帰る意味が同じなら前者にしとくべき
588(3): 2018/05/04(金)09:19 ID:GVKvD5AN(1) AAS
ベテランが考え有りで早期リターン実装するのは別にいいが、新人がやると大抵考え無しで、しかもバクの温床になるんだよなあ。
598(7): 2018/05/04(金)11:19 ID:1rGC705t(4/7) AAS
>>595-596
もしかして、C/C++言語のソースは途中で改行できるのを知らないのかな? 別に
> for(i=0;
> i<10;
> i++)
> {
> return=function(param1 /* パラメータ1 */
> ,((x+y)*i)+1 /* パラメータ2 */ );
> }
なんて書き方してもいいんだよ? BASIC(Excal VBA)でも エスケープ文字('\')
省3
616(3): 2018/05/04(金)13:11 ID:bL+kQS+t(1/2) AAS
>>94
職業じゃないからわからないけど
三項演算子はたしかに見にくい
一時使ったが、長くなる場合は展開するようにした。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 1.659s*