おまえらが目撃した「絶望的なソースコード」 どんなのある?
■ このスレッドは過去ログ倉庫に格納されています
#!/bin/bash
function f() {
sleep "$1"
echo "$1"
}
while [ -n "$1" ]
do
f "$1" &
shift
done
wait
https://monobook.org/wiki/%E3%82%B9%E3%83%AA%E3%83%BC%E3%83%97%E3%82%BD%E3%83%BC%E3%83%88 kinou1
kinou2
kinou999
関数名だぜ? とあるシステムの一部分のソースだけでC#のファイルが1万超えてて震えた >>7
そこまで行くと、作った奴が凄いなと褒めたくなるなw >>4
何かあったら全部自分で面倒を見る、という覚悟だな ttps://techwave.jp/images_inbox/2017/04/DSC_8998-1-640x464.jpg ループの外でクラス構築して
ループの中でそのクラスに値をListに追加し続けてるソース
そのコードを書いたバカの一言
「リストをダンプすると全部同じ値なんですよ、何でなんですかね?」 >>16
ループの外でクラス構築して
ループの中でそのクラスの値をListに追加し続けてるソース
だろ? Axsis2でコード生成したら3万行の
コードが吐き出されたでござる。 if(penis == true) {
dead = true;
} >>19
いい加減、行数でコードを評価しようとするのやめなよ、おじいちゃん 10 A=0
20 A=A+1
30 PRINT A
40 GOTO 20 >>20
いやこういう糞ソース
A a = new A()
List list = new ArrayList()
for (結果のレコード : dbの検索結果) {
a.set(結果のレコード)
list.add(a)
} グローバル変数の名前がa
VSみたいな統合開発環境なんてないから追跡不可能 if(条件2){
if(条件3){
if(条件4){
if(条件5){
if(条件6){
if(条件7){
if(条件8){
......;
}}}}}}}} 本当は効率やメンテナンスを考えて処理を関数化すべきなんだろうが
あまりにも納期にまで時間なくてif文大量に書いた
引き継ぎの人、ごめんな
でも1機能あたりシェルスクリプト1万行書いてた隣のチームよりは優しいと思うから許して https://t.co/C2bG93ZCkj 👀
Rock54: Caution(BBR-MD5:b73a9cd27f0065c395082e3925dacf01) 上の見てると俺まだ楽なんだなぁ
設計書なしで、3000行のファイル、うち2/3がデッドコード
関数化してなくて重複処理多すぎ
保守すんのめんどくさい 1から10まで足した答えを印字するプログラム
PRINT ”55” >>28
ちょっと考えないと何がダメなのかわからなかった とにかくありとあらゆるリテラルをシステムで1つの定数クラスに入れてある
別のクラスで使う、同じ意味、内容のリテラルの共通化もされてない
おかげで定数クラスが数万行になっていた 昔ステップ数で金変わるからforループ使うな、て言う天才がいたわ。
固定で100回す処理とか100個引数変えて書いてた >>18
if(true==true)return false;
これすこ なぜかgitから取ってきたばかりなのにコンパイルが通らない 1文で5000行のSQL
文にもテーブルにもコメントなどない 10 FOR I=0 TO 100000 :NEXT
20 TALK "TIXKO" :GOTO 20 継承したクラスコピペして作るのはいいけど
使っていない変数は消せ コメントに会社や上司の悪口が書いてある
内容も事実なんだけどね >>51
太古のパソコン雑誌は16進のダンプリストを自力で逆アセンブルして移植なんてよくあったなあ
俺もアドレスずれても再アセンブル通る程度にならやったことがある
学生の暇に任せた行動力はほんとに感心する ファイルを開いたらエディタがフリーズ(1クラスがでかすぎ) If 判定をする then
判定で正常な結果が帰ってきた時の処理
Else
判定で正常な結果が帰ってこなかった時の処理
End If >>43
すまん、自動テスト用の文字列にunkoとfuckはよく使う >>25
いまだにstep数で見積もり出せって言ってくる某大企業様 format cなんちゃらかんちゃら
実行したらPC壊れた
お前ら許さんからな COBOLのワーキンクストレージセクションの定義名が全て女の名前 VBでtempA,tempB,tempC...がグルグル回ってるソースでよくよく調べてみると
tempAが途中でtempaに生まれ変わって動いてた 変数名関数名をdo、go、toの組み合わせに変換してみよう。もちろん予約語は除いて。 >>51
昔はたまにあった
もちろんトリッキーと認識してたけど
データ領域のフリをしてコード入れて
走らせたらまた自分で書き換えて、、
もちろん普通の人はしない方が良いって言われてた >>62
いや、俺がそう書いてるんだ。誰も読まねえから商用にもそのままつっこんだぜ!!!!! 業務上の仕様通りに書けばいいのに、
意地でも三項演算子使ったり、
変な変換かまして行数減らしたがるアホは死んで欲しい 数学屋さんがn88basicあたりで書いたやつをまんまcへ
変数全部グローバルで
int i,j,i2,i3,i7,i31,i55,j2,j3,j4,j44; /* ループ用 */ SendCmd(コマンドA);
ThreadSleep(3000);
SendCmd(コマンドB);
ThreadSleep(2000);
SendCmd(コマンドC);
ThreadSleep(2000);
引き継いだとき絶望した
そら動作が遅いわけだ 三項演算子はネストしないでほすい
ネストするならせめて改行入れてくれ if (a = b) { /* ==のはずだがココは通らないのかも */ >>78
条件が複雑になるとifで分けてるけどその方が良いよね
自分でも読めなくなっちゃう ハードウェア設計の言語だけど
クロック信号やリセット信号のツリーを自前で数百行書いてるやつ 4年前に書いた、自分のコメントがないスクレイピング用ソースコード。 基本はソースコード=ドキュメント
おかしなトリックとか使わない基本命令しか使わない
3項演算子でてたがもちろん1行に1回 不要なコメント行がソースコードの全体の8割を占めているとか。 >>86
アセンブラ始めたときは1行1コメント書いてたw 一万行のクラスの変数がグローバル変数で三次元配列になってた。 IT速報アフィ的には、派遣社員が他社から持ち込んだソースだと知った時 次元数が多すぎる連想配列。
7くらいで絶望的になるには十分だが、10次元の面倒を見させられて、メンテしたら12次元になった。 >>90
コメントで喧嘩していたり、誰が見ても明らかに痛いソースコードもあるぞ。
スペルが間違ってるとかそんなことで30行も言い争うことなのか? >>52
どこにも問題ないように見える
ちょっと遊び心に溢れてはいるが >>4
こういうのって他の人が理解できないようにわざとやってんのかね? >>4
おそらく仕様書に書いてある「機能1、機能2・・・」というのをそのまま実装しようとしたんだろう。
後から保守することを何も考えていなかったんだろうな。仕様書が残っていれば一応追いかけられるが、
どこかにいってしまうと悲惨なことになる。 >>95
自分しかメンテできないようにして客を縛る高等テクニック。
ジョブセキュリティとも呼ぶ。
だが上手くやらないと自分もメンテできなくなる諸刃の剣。 >>88
次元数が10とか何を入れてるんだ?
せいぜい3までだろ >>95
「他社(の派遣)さんにこのメンテは無理ですよ」とアピールして、自分の契約を半永久的に延ばすテク
ただ、自分が逃げ出したいときは足枷になって逃げ出せないという >>13
創業の頃、プログラマが1人しかいなくて手伝ったときのものだな。
三木谷らしいひどいソースだ。 >>28
Listを配列にして、forループの中で配列に順にレコードを追加するようにしていれば正解だったのかな。 >>51
ウィルス製作の基礎技術だからやっといて損はない オリバーとブルドックの絶望的な争いくらいしかわからん
ウスターととんかつは中濃に比べて絶望的に使用頻度が低いくらいしかわからん >>106
いやループの中でa を newすんのが正解
あんたこれ書いたバカと同じ位のバカだわ 変更箇所の変更前のコードを延々とコメントアウトで残してあるソースに当たったときは地獄だったな。 >>92
初心者の頃自分で書いたコードをいま見ると稚拙過ぎて自分を殴りたくなった IT系で働いてる日本人エンジニアをイラつかせたくて仕方ない朝鮮人の誘導尋問スレww 普通に考えればマジックナンバーと文字列バインドだろ。
意図通り動いてるかすらわからない。 >>112
それはわかってるけど、データが表示用で1画面に納まる程度だったら、最初に固定で配列を確保して
forの中でそれに代入すればいいし、実行速度もその方が早い。
代入するデータ数が全く不明な場合はforの中で確保するしかないが、
もしメモリに入らないくらい膨大なデータ数だったらたとえコードが動いてもヒープ領域オーバーで止まる。
単体テストで少ないデータを使ったときは正常に動くが、本番稼働で大量のデータを処理しようとしたときに止まったら
バグ取りで徹夜することになる。
こうなりたくなければ最初から処理に応じて最適なメモリ領域を確保してから処理した方が安全確実ですよ。 1企業内だけで閉じたくっさいオレオレフレームワークに無理やりMVVM
死ね cのソースでgoto使う奴は死ねって婆ちゃんが言ってた >>121
try/catchがないC++じゃないCでdo-while(false)するぐらいならgotoの方が良いような気もするんだけどなあ >>94
まぁこれは「意味がわかると怖いJavaScript」という例題みたいなものです >>119
あんな見ただけでマトモに動かないって分かる
糞コードにそんな制約あるわけ無いだろう
ピントが外れ過ぎてアホ丸出しだわw >>52
これはクライアント側のスクリプトか?
なら大問題が埋まってるな。 2ちゃんで見たのは
//ここを削除すると動かなくなるから触るな 一行目にコメントで「ごめん」って書いてた時は寒気がした >>121
それケースによるように思うな。
場合によってはgoto使ったほうがいいソフトもあると思う。
ただ飛んだ先でどこから飛んできたかわかる仕掛けは必須。 卒研で、実験結果のバイナリをテキストに変換するプログラム。
助手さんにmain.cとMakefileだけ渡されて、「一昨年の卒業生はこれでやってたみたい」って
Makefile見たら明らかに他のファイルリンクしてる
どうすれば?wってなった 20年前は10万行が当たり前で、コメントにウンコとかハナクソなんかをよく見かけた。
後ろになってくるとウンチとか連発しててプログラマーがぶっ壊れてきてきたんだなあと。 >>136
業務で使ったやつがいて全員に連絡が回ってきたわ >>140
OSのサービスコールのエラー処理はgotoで記述してるぞ 書こうと思ったけど関係者が見たら特定されちゃうから止めるわ
検索すれば分かるとは思うけどごく少数の関係者以外には意味不明 >>141
お前業務で使ったことあるの?
連絡が回ってきた業務は昔の携帯開発のときなんですけどね なんか数行数字と記号が羅列してあってさ 何のコードか聞いたら
自己再定義でなんとかの組み合わせを創るコードだよといったなり
一時間くらいゲーデルとマンデルブロー集合と組み合わせ数学について話すというより
早口(超)で喚いていたのがいたな そいつ 結局は精神病院へいったけど どうも児童を殺害して
食べたらしいんだよ・・・(証拠がなく不起訴になったけど) print "Go Hello Work"
goto helloWork 新しく就いた企業での初日、前の会社で俺が書いたコードが丸コピーされてた事
コメントすら変えてなくて笑った >>143
現在進行形で使ってるよ
携帯開発なら2004年頃くらいかなN●k●aの端末でOSはSymbian
TCPのSocketListenでオープンエラーを飛ばすのにgoto使ってる LSI C-86試食版を長らく愛用した
Sモデル限定と言う以外何の制限もない神フリーウェアだった 渡されたソースがなんの処理をしてるのか不明だったので時間をかけて解析していったら、九割が行数水増しのための意味のないコードだったことがある。
多分、行いくらの報酬だったんだろうなぁ。 前任者が突然やめたのを引き継いだらプログラムの中が空だった 大学で化学やってたんだが、転職でプログラマーって未経験じゃ厳しいか? >>155
理系ならOKだと思う
文系出身PGの使えなさは異常 作ったやつがトンズラした案件の深夜の緊急直し
色々酷いんだが、コードの最初の方に
class Unko {
function Unko(){
// ぶり
}
}
と書かれてる
こういうのは消せよな…と思って消すとエラー
俺うんこ入りのコードで徹夜するのかよ…と鬱になった メンテされるごとにフラグが増えるソースって近所のトラ猫が言ってた エディタでコメントつけて保存したら動かなくなったソースコードが最悪だった
制御コードをソースに埋め込むってどういう神経してるんだ? 'どうしても1円足りないから今回だけ+1しとくね・・・ オフショア外注から戻ってきたコードの
コメントと変数名の半分くらいがスペイン語 >>162
俺は10年ほど前にオブジェクト提供のライブラリのAPI仕様書が紙のハングルで詰んだことがある。
エスパーして何とか乗り切ったが。 alias exit 'echo "file not exist";unalias exit' /* includeの順番は入れ替えるな */
#include "foo.h"
#include "bar.h" If 〜 then
〜
maybe
〜
Endif >>1
これが理解できて内容にレスできる奴って1割いないと思うよ 関数型で書けっていってるのに
オブジェクト指向のクセが抜けない昭和生まれオジサン SEの奴らに聞きたいがアマゾンプライムで見られるミスターロボットってどうなの?
ソースコードいっぱい出てくるしハッカードラマだしリアルなのあれ? コメントだらけのスパゲティを解いたら、前のコメントを消したことを怒られた
結局もとのコードをコメントとして残せと言われてえらいことになった バッチプログラムのログがこんなの
logger.info("r:" + r); void main{
メインだけで12万行
さらに、10個以上の関数呼び出し
呼び出し先も2万行オーバー
} char *s;
gets(s);
どこに読み込もうとしているの?と聞いたら???って顔をした どこからかコピペしたらしく意味ありげな関数名、変数名、コメントが実際の処理と全く合ってないやつ
まだkinou1とかコメント無しの方がまし 1万行超のコードの中で、20個のタイマーが駆使されている
変数名はtimer1, timer2, timer3, … ガベージ対策考えないで string に値をガバガバ代入してた1部上場企業の派遣が書いたBASIC main関数しかなかった10万行以上のコード
いつまでたっても終わりが見えない深いif if if if で嫌になったわ
「動くコードは全て美しい」と思っていたが現実には遥かバカがいること知った クラスもメソッドもメンバーも、全部3文字の頭文字取った略英語
仕様書というものが一切ない
コーディング規約も
で、これをオレ様顔で仕切ってたアホPM
マトモに動かない、客からクレーム嵐
ヘルプで人投入しても、何やってか誰もわからず
最後は、アホPM倒れる...
そのまま逝ってしまえと思った >>94
中身自体は、「なんか無駄なことしてるなーw」とか「これは哲学かな?」とか、
「男気溢れる処理」「初心者乙www」とか笑えるぐらいで済まないことも、ないのだが、、、
これの一番の問題点は 「クライアント上のJavaScriptで動いている」 ということだ >>189
きっとこれは釣り針なんだよ!
apiServer.sql() の向こう側にいるのはRDBではなくて
ニヨニヨしている作者なんだよそうに違いない 変数名が日本語をローマ字にしてるのはまあいい
訓令式とヘボン式混ぜるな >>127
思い込みが激しい人みたいですね。どんな制約があるかなんて1つ1つ全部違うんですよ。
自分が制約ないと思い込んで作っても、できた後で念のため発注元に確認したら「こういう条件で」と言われることなんていくらでもある。
だから最初からできるだけ変な動作しないように考えて書くもんなんですよ。 >>162
FX用で使うインジケータのソースはロシア人がけっこう活躍してて、コメントや表示文字がキリル文字になってるのがある。
全く読めないので翻訳から始めないといけない。 >>189
ああ、まるで門外漢だからようやくわかった
たしかにダダ漏れだよ! SQLがあっちこっちに書いてあってあげくに外のテキストファイルにも
作った奴死ねと思った >>52
素人だとまるで分からんな
何がどうダメなん? >>199
教科書に載せたい、つっこみポイント。
1.Javascriptによるログインの処理の大胆性
全ユーザーのデータをブラウザにダウンロードさせている。
2.SQLを直書きする危険性
悪意あるSQLを実行させることにより、全ユーザーのデータを削除できる可能性がる。
3.ユーザーのパスワードを平分で保存している問題性。
4.if (“true” === “true”) { return false; }という哲学性。
5.プログラムの1行目のコメント「TODO: put this in a different file!!!」のそこじゃない性
だそうだ >>193
思い込みが激しいのはあんたでしょwww for(i = 0; ;++i) {
if(i % 4)
shallowDub();
else
deepDub();
if(climax())
break;
} プロセス間通信の「サボるリーマン問題」だっけ?
あれがいつまでたっても理解できなかった
いまも理解してない >>193
話の流れを読んでたらふつーそんなレスしないと思うんだわー >>101
保険でコボルやってたけど、こんな感じだったよ。
INNG100027410
みたいなクラスだった。 プログラミング初心者だけど最近ハマったアプリ
App名: Human Resource Machine
デベロッパ: Experimental Gameplay Group
https://itunes.apple.com/jp/app/human-resource-machine/id1005098334?mt=8 でも>>52こんなので驚いてたら
90年代のtelnet.cgiとか見たら気絶しちゃうぜ
なんたってフォームからの入力をそのままシェルで実行しちゃうんだから >>208
var1
var2
var3
;
var999
みたいなのを触ったことがあるが発狂しそうだった >>169
めっちゃ遅いCPUでも期待する結果得られるのかな? 詳しく知りたくてコード誰が書いたのか聞いたらすでに亡くなってた >>1
これsleepをusleepに変えれば実は結構使えるぞ すまん、スレタイ見て思い出したことがあるから長いけどいいかな?
ゴメンナ
20年程昔の話なんだけど、長野の山奥(志賀高原とか野沢)に超激務な仕事の
担当をするハメになり13ヶ月限定で転勤させられてたんだわ
睡眠時間どころか、食べる時間すらも削られる内容で13ヶ月後には見事に白髪だらけになったw(当時27歳)
でな、その頃に長野県内ではちょっと有名な海鮮丼屋が軽井沢か小諸市(場所失念)だったかにあって
ず〜〜っとその店に行って腹一杯に海鮮丼を食べることを願いながら日々の仕事をこなしてたのね
2ヶ月ぶりのやっとの休日に車で片道3時間飛ばして、店に入るなり頼んだ海鮮丼に
ぶっかけてしまったソースがこれまで生きてて一番最悪なソースなのは間違いないw
海鮮丼屋のテーブルの上にシラーッと置いてあったから、かけるだろ普通wwww あんまり関係ないけど、UTF-8と言えば
マイクロソフトの仕事して初めてBOM付けろと言われて
ちょっと難儀した思い出 クソコードが出来上がる要因
エンジニアを安くこき使っている
パワハラ等でエンジニアに憎悪がたまっている
コードレビューをしない
地雷プロジェクトの引き継ぎ案件しか仕事がない
営業が低価格競争に励んでいる コメントが喧嘩腰
/* ○○さんがこの様にしろと言ったから、こういう処理にしました。
もう仕様変更しないでください!
by ××
*/ どっかの寺のホームページのソースに
合掌してる坊さんのAA仕込んであったよな >>113
昔はそれ当たり前だったんだけどな。
今みたいにプロジェクトマネジャーとかないから
バージョン管理なんて出来ない。
故に変更してバグがあった時に前バージョンに戻せるように変更箇所をコメント化するのは当たり前のやり方だった。
多分そのやり方を引きづってるソースなんだろう。 >>203
>>206
客観的に見て、君らの負け。
認めろ、馬鹿。
この程度でどやってるくせにw >>13
誰書いたのコレ
無能は雇わない方がいいぞ >>229
寺のホームページなんて見る事も少ないのに更にソース見ようと思うレアキャラ向けに仕込んだのかw ・コメントには「AにBを代入する」と書いてあるのに実際は「BにAを代入」。しかも理由は書いてない
・「なぜかこうすると動く」と書いてあるコメント do {
err = func (arg);
} while (err != 0);
ちなみにfuncはブロックしない
高確率で無限ループ 逆に凄かったのがWinnyの作者の金子勇のコード
冗長部分全くなくて極めて簡潔なのに効率よく完璧に役目を果たす
だいぶ前に亡くなったけど頭のいい人だったんだろう /* 期待した計測結果にならないので修正 */
hage = hoge / 3; >>243
'なぜかわからないけど動いているのでこのまま
とかよく俺書いてるわ 変数が全て全角英数で初期化されてて
何故か動いてた。
そこの現場で自称スーパープログラマだった。
ソースレビューで指摘してやったら顔を真赤にして詰ってきたので
( ^∀^)ゲラゲラ笑ってやった。 全員逃亡炎上プロジェクトの
マイコンファームを見ていて
//暫定値Duty計算後変更してください
//param=0xff; //←なんかICが燃えた
//param=0x3f; //←なんか耳鳴りがする
param=0x87; //たぶんOK
ワラタ >>234
ダメな部分を理解できない頭バグってるバカが
精神勝利法でドヤってもバカを晒すだけだよ
どーせお前、思い込みで糞コード書いてバグを量産してるバグ量産機だろwww >>28
addが中でコピーしてれば何の問題もないから
これだけでは何とも判定しがたい >>192
変数名が日本語をローマ字にして母音を省略
解析が大変大変 rem文なしで数万行。
作成者は他社へ転職済み。社内システム管理者が対応してくれない。 >>242
自前センサーをごにょごにょするコードは謎の計算式でいっぱいだ ログインの判定SQLが
SELECT * FROM M_USER WHERE
LOGIN_ID=#loginId# AND
LOGIN_PASS=#passWord#
でデータが取れたかどうかで判断しちゃう >>230 鬼のようにコメントアウトされてて何万行あるんだよ。って感じだったけどな。
何のためにgit使ってたんだよ。って感じ。 演習かなんかでキャラクタで四角を作るコードを書けと言ったら
ループとか全く思いつかずprintfをひたすら並べてたやつがいたな >>261 読んだけど壮絶だな。。。
うちは一応仕様書は共有されてるしコミュニケーションはslackでし放題だ。 >>261
アセンブラは単純だし組みやすいけどいかんせん最適化されないんだよな。プログラムサイズは小さいけどさ 全部左寄せで3000ステップほどかきなぐり、
俺に
見てください!ものすごくきれいにかけましたよ!
といってきたおっさんがいたなぁ
あいついきてるかなぁ。
その後も色々やらかし、昼休憩で嫁に聞いてきます!とかわけわからんこと言ってそのまま戻らなかったおっさん…
嫁が謝りに来てたぞ……… >>268
// to make sure
とか見るとうんざりするけどな >>30
状況によりありかなw
条件8まで式が「変わる可能性」と
「優先順位の変更」(要は順番)が決まってない
状態だで、しかも関連性から同じソース内で処理しないといけない状況
いつでも式を大胆に変更でき、順番を変えれる様その形にしておく
合理化して式を単純化したら
分解し辛い・・・・ 便利メソッドを集めたクラス。
シングルトンじゃないのでインスタンス化必須だが色々な所から使われるのでnewされまくり。
GCがすぐにメモリ解放してくれると勘違いしとる。 >>260
バカのコード:人が考えた結果を羅列する
天才のコード:人の考える過程を表現する for(int i= 〜
ってまあ一カ所なら許せるがどれもこれもiとnだけとか勘弁してほしい 20行くらいで文字列が違うだけの塊が500個ぐらいで1万行。
20行を関数化して500+20行くらいにしてやった。 世の中には同じ処理は関数でまとめるのが当たり前だと思ってる人もいると思うが
RAMのついてない環境の制御プログラムのソースでそれやるとぶっ飛ぶからな 1万行は萎えた
ザラにあるのかもしれないが
書いたやつ病んでたし >>283
意味不明。
RAMのついてない環境って、書き換え可能記憶領域はCPUの汎用性レジスタしか使えないことだと思うけど、関数まとめるとか直接関係ない。 おいおいオンエラーゴートゥって…ゴートゥ文使っとるぞ外せ外せwww
↓
なんだよトライキャッチ全然入ってねえじゃん手抜きしやがって入れろ入れろ!
同じでは…? >>286
関数はスタック使うからRAMが無かったら戻り番地保持できなくてぶっ飛ぶよ >>288
RAM無いのに関数呼び出しでスタック使おうとする糞みたいなコンパイラは窓から投げ捨てろ
てか強制inline位あるだろ >>289
コンパイラの性能に頼ってるなんて相当経験浅いな スタック使えないから関数使わないと言う方がダメだろ
コンパイラは面倒でもソースコードジェネレータ位ヘロヘロっと自作しろよ コンパイラ、逆コンパイラ、アランブラ、逆アセンブラは全て自作経験あるよ 流石にディスコンパイラは作ったこと無いわw
ハンドでならやることもあるけど 自分で設計したDSP用の並列計算コードなんて既存ツールが存在しないから自作するしかないんだよ 前バージョンソースをラッピングの繰り返し
Direct3Dが凄かった >>287
MISRAもそうだが規約が腐ってる
確かにバグになりやすい箇所の指摘もあって重宝もするけど
多くはコードを読みにくくするだけの効果も何もない独善的ルール ■ このスレッドは過去ログ倉庫に格納されています