アカウント名:
パスワード:
最悪なコードにぶつかった事が無い人かしら、羨ましい。
●500行の関数が短く見える●コメントに嘘が混ざっている●入出力パラメータの意図がはっきりしない●コピペされたコードが散在し、コピペのうちの数行が異なっている、異なっている意味が分からない●ポリシーがわからない、あるのかないのかわからない、書いた奴がどの程度馬鹿なのか馬鹿じゃないのか分からない●一見バグに見えるコードが本当にバグの状態にあるのか信じられない●その状態で多くの人がメンテしてきて、もう誰が何をどういう意図で書いてるのかわけがわからない
まあ、全てを兼ね備えたプロジェクトがあったわけじゃないけど、1件だけパーフェクトに近いのがあったなあ。。。
>●5000行の関数が短く見える>●コメントの90%はコメントアウトされた修正前の古いコードか、コーディング規約で決められたテンプレート(中身はない)
日立系列の仕事か・・・
え、日本IBMじゃないんですか
なんだ,うちの会社のコードの品質って最底辺かと思ってたけど,世間でよくあるレベルの「最悪なコード」だったのか.
某Linuxデバイスドライバーを開発してもらった時のエピソード。ソースコードを納入してもらったんだけど、怪しげな書き方をしているところがありました。でもテストするとちゃんと動く。
一晩くらい悩んだら、どうして動くのか理解できました。少しロジックを変えれば意図がはっきりするという問題はあるにせよ、納入コードにちょっとコメントを追加してcheck inすればいいの話。後で同僚に解説したら「そんなの読み解けない」と言われた書き方でしたけど。(笑)
正式納品前に、そのコード担当者と打ち合わせがありました。もっとやさしく書けるのに、どうしてそんなに難しいコードを書くのですか?答えが「言われてみると、どうしてちゃんと動くか分かりません」だって。で、客側のこっちが「あなたのコードはこんな風に動いています」と説明する羽目になりました。(苦笑)
なお、この取引先って日本を代表する企業の名前を冠に戴いた企業。N○Cホゲホゲや東○ホゲホゲみたいな会社です。
「そんなの読み解けない」
ごめんなさい。「そんなの、私の解説なりコメントがなければ、読み解けない」に訂正です。
# 書き散らしよくない、よく校正するよろし。_ _;;
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
海軍に入るくらいなら海賊になった方がいい -- Steven Paul Jobs
発想が、ちょっと駄目かな (スコア:2)
のでは無く、最悪なコードを見かけたらそれを最高に書き換えるのがプロの仕事。
既に動いてる部分は触ってくれるなというクライアントも居るが、
保守性の向上とか潜在バグの回避とか幾らでも説得材料はあるし。
Re:発想が、ちょっと駄目かな (スコア:1)
最悪なコードにぶつかった事が無い人かしら、羨ましい。
●500行の関数が短く見える
●コメントに嘘が混ざっている
●入出力パラメータの意図がはっきりしない
●コピペされたコードが散在し、コピペのうちの数行が異なっている、異なっている意味が分からない
●ポリシーがわからない、あるのかないのかわからない、書いた奴がどの程度馬鹿なのか馬鹿じゃないのか分からない
●一見バグに見えるコードが本当にバグの状態にあるのか信じられない
●その状態で多くの人がメンテしてきて、もう誰が何をどういう意図で書いてるのかわけがわからない
まあ、全てを兼ね備えたプロジェクトがあったわけじゃないけど、1件だけパーフェクトに近いのがあったなあ。。。
Re:発想が、ちょっと駄目かな (スコア:2, おもしろおかしい)
●コメントの90%はコメントアウトされた修正前の古いコードか、コーディング規約で決められたテンプレート(中身はない)
●モジュール間のデータのやりとりは基本的にグローバル変数なので入力パラメータも出力パラメータもない
●コピペされたコードが散在し、完全に一致している。指摘しても修正工数がないのでそのまま、さらにもう一つコピペが作られる
●最初に書いた設計者は天才だったようだ。明確なポリシーにもとづく教科書に載せたいくらい鮮やかな実装がそこにあった。ただし、外注だった彼はもういない。それを修正した何人ものプロパーはみんなアホ。完全に元のコードを破壊している
●どう見てもバグに見えるコードは本当にバグっているが、それが仕様で正しい
●だから誰もが自分の責任範囲を極小化することだけにキュウキュウとしている。個別部分の意図は痛いくらい分かるが、全体としては意味をなしていない。
Re: (スコア:0)
>●5000行の関数が短く見える
>●コメントの90%はコメントアウトされた修正前の古いコードか、コーディング規約で決められたテンプレート(中身はない)
日立系列の仕事か・・・
Re: (スコア:0)
え、日本IBMじゃないんですか
Re:発想が、ちょっと駄目かな (スコア:1)
なんだ,うちの会社のコードの品質って最底辺かと思ってたけど,世間でよくあるレベルの「最悪なコード」だったのか.
こりゃ駄目と思った実例 (スコア:1)
某Linuxデバイスドライバーを開発してもらった時のエピソード。ソースコードを納入してもらったんだけど、怪しげな書き方をしているところがありました。でもテストするとちゃんと動く。
一晩くらい悩んだら、どうして動くのか理解できました。少しロジックを変えれば意図がはっきりするという問題はあるにせよ、納入コードにちょっとコメントを追加してcheck inすればいいの話。後で同僚に解説したら「そんなの読み解けない」と言われた書き方でしたけど。(笑)
正式納品前に、そのコード担当者と打ち合わせがありました。もっとやさしく書けるのに、どうしてそんなに難しいコードを書くのですか?答えが「言われてみると、どうしてちゃんと動くか分かりません」だって。で、客側のこっちが「あなたのコードはこんな風に動いています」と説明する羽目になりました。(苦笑)
なお、この取引先って日本を代表する企業の名前を冠に戴いた企業。N○Cホゲホゲや東○ホゲホゲみたいな会社です。
vyama 「バグ取れワンワン」
Re:こりゃ駄目と思った実例 (スコア:1)
ごめんなさい。「そんなの、私の解説なりコメントがなければ、読み解けない」に訂正です。
# 書き散らしよくない、よく校正するよろし。_ _;;
vyama 「バグ取れワンワン」