パスワードを忘れた? アカウント作成
2420169 journal
日記

hetareDAIOの日記: いいコード 4

日記 by hetareDAIO

糞なコードについてあれこれ考えると気が滅入ってくるw ので、あえていいコードについて考察。

「いい」の定義にもよるか。「いい」とは、

  1. バグが出ない…というよりは確実に意図したとおり動く
  2. 実行が著しく遅くない

とする。

ということでしばし考えてみると、いいコードとは、

  1. 可読性があり、
  2. 実につまらなく、
  3. 見てわかりやすい

ことが条件かな、と。このうち、肝となるのは 2. だと思う。これを追求していくと、自ずと 1. と 3. を満たすのではないかと考える。

可読性があるのと、見てわかりやすいはあえて分けた。可読性とは、コードの流れが読みやすいという意味で、見てわかりやすいというのは、そのコードが何をしようとしているのかがわかりやすいという意味。たとえば、関数ヘッダをつけて説明を書くのは、「見てわかりやすい」という条件に合致する。適切なコメントを入れるというのは、可読性につながる。

つまらない、というのは、コードに対するなにがしかの潜在性を感じさせない、ということ。つまり、書いてあるようにしか動かない、見てすぐわかるので興味を持ちにくい、そんな感じw けど、これこそがいいコードなんじゃないかな。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • Cなんかでbit演算多用されると、早いかもしれないけど、一読しただけではわけわかめですからね。
    • そういうコードは、弄る必要がなくて、使うに当たって変なルールがなく、…と考えると、もはやコードである必然性のない、バイナリとしてのライブラリとヘッダ(I/F)があれば十分なものですよねw 趣味で書くケースですとか、自分の仕事を絶対に他人には渡したくない場合には、いいコードと呼べると思います。

      --
      ほえほえ
      親コメント
  • by Anonymous Coward on 2012年04月04日 12時45分 (#2129494)

    面白く書きたいのがプログラマの性(サガ)なんでしょうけどね・・・。

    ひねりがあって奇抜で効率的な

    # 糞コードというよりは、オナ○ード?(開発現場では忌避される上級者向け)

    • by hetareDAIO (17407) on 2012年04月04日 15時31分 (#2129610) 日記

      ひねりがあって奇抜で効率的な

      そういうコードは、例えて言うなら日本語しか知らない人が遭遇したロシア語の文章、です。翻訳された(=使える状態になった)ものであれば素晴らしさがわかるけど、原文ではただの模様にしか見えなくありがたみがさっぱり、という。自慢して見せても理解できるのはほんの一握りという矛盾がつきまといますw

      確かに、今より計算機パワーがなくて作業規模も小さくて各種フォーマットもなかった時代には、そういうコードでも重宝されたこともありました。が、今はそういうコードを書くならドキュメント書け、と言われるようになってますので、ドキュメント書くくらいなら素直なコードを書くというケースもちらほらw

      --
      ほえほえ
      親コメント
typodupeerror

海軍に入るくらいなら海賊になった方がいい -- Steven Paul Jobs

読み込み中...