memorandums

日々の生活で問題解決したこと、知ってよかったことなどを自分が思い出すために記録しています。

プログラム書法

※以下、書評ではありません。あくまで日記ですので。最初に書いておかないと期待はずれになってしまいますのでとりあえず前置きを。

論文を読んでいて、この本のことが載っていました。

とりあえず大学図書館の資料検索をしてみると蔵書にあるようです。

で、本日、立ち寄ってみたものの探してもなかなか見つかりません。司書の方に聞いてみると1階とのこと。(わかりにくいですね。。。うちの大学の図書館は2階にあり1階が保管用書棚?になっています)

探してみるとありましたありました。以下がその様子です。古いからもう読まれないと判断してこちらに移動したのでしょうね。でも、この本(の第2版)はまだ現役ですから。

f:id:ke_takahashi:20130214121348j:plain

 

うちの場合だけかもしれませんが、大学の蔵書は基本的に教員が選定して購入します。もちろん、学生さんからの要望で購入する場合もありますし、図書館の方が推薦図書などを購入される場合もあります。

わかってはいるのですが、なかなか選定する時間がなく。。。図書館好きの自分としてはいかんな。。。と思いながら行動できていません。来年度にはさっそく第2版(下記)を購入申請しておきますね。

プログラム書法 第2版

プログラム書法 第2版

で、とりあえず上記は第1版ですが借りて読んでいます。というか持ち歩くのが面倒だったので非裁断式自炊システム(大げさな...)iPad miniに取り込んで通勤中に読むことにします。

 

で、これだけでは本当に日記になってしまうので、手持ちの関連する本(プログラミング作法)をEvernoteにメモしたものを掲載します。FORTRANベースですが、今どきの言語でも通用しますね。

研究用のメモですが。。。コードコンプリートの下巻にも同様の内容が書かれた章がありますが、だいたい同じですね。同じということはここ数十年進歩していない。。。ということになりますが。人間がコーディングしているうちはこのテーマはなくならないとは思います。

 

プログラミング作法

プログラミング作法

 

1章 スタイル

 

1.1 名前

     ・グローバルにはわかりやすい名前を、ローカルには短い名前を。

     ・関数には能動的な名前を。特に問題がなければそのあとに名詞をつけよう。

     ・名前は的確に

 

1.2 式と文

     ・構造がわかるようにインデントしよう。

     ・自然な形の式を使おう。

     ・かっこを使って曖昧さを解消しよう

     ・複雑な式は分割しよう。

     ・明快に書こう。

     ・副作用に注意。(++)

 

1.3 一貫性と慣用句

     ・インデントとブレースのスタイルを統一しよう。

     ・慣用句によって一貫性を確保しよう。

     ・多分岐の判定にはelse-ifを使おう。

 

1.4 関数マクロ

     ・関数マクロはなるべく使うな。

     ・マクロの本体と引数はかっこに入れよう。

 

1.5 マジックナンバー

     ・マジックナンバーには名前をつけよう。

     ・数値はマクロではなく定数として定義しよう。

     ・整数ではなく文字定数を使おう。

     ・オブジェクトサイズは言語に計算させよう。

 

1.6 コメント

     ・当たり前のことはいちいち書くな。

     ・関数とグローバルデータにコメントを。

     ・悪いコードにコメントをつけるな、書き直せ。

     ・コードと矛盾させるな。

     ・あくまで明快に、混乱を招くな。

 

1.8 参考文献

     ・The Element of Programming Style

     ・Writing Solid Code

     ・Code Complete

     ・Export C Programming: Deep C Secrets