きれいなコード(プログラム)を書くのに参考となる書籍はありますか?


できたらサンプルコードが掲載してあり、たとえば汚いコードからきれいなコードへ整理する過程(?)が紹介されているものが、いろいろなアルゴリズムにおいて掲載されているようなものがもしあれば教えていただきたいと思い、質問しました。

小規模ながら社内システムを作る機会が多くありまして、きれいなコードを書きたいと常々思っております。
が、私がエンジニアを本業としていた期間は2年程度で、他者からコードの書き方を具体的にいろいろ学べたのはその期間だけでした。

その後ももちろん自分なりにエンジニアたちのブログ等を参考に、「達人プログラマ」や「CODE COMPLETE」など、レベルアップのために読むべきとされている本は継続的に読んでおり、それを読んでいるときは「なるほど」と納得するのですが、それらの抽象的な話を実際に活かせてるかどうかというと、あまり活かせてない気がします。

「ここはこう修正すべき!」のような具体例がたくさん掲載されているものはあるでしょうか。よろしくお願いします。

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2013/01/19 16:17:50
  • 終了:2013/01/19 21:31:10

ベストアンサー

id:oil999 No.1

oil999回答回数1728ベストアンサー獲得回数3202013/01/19 16:34:48

ポイント40pt

できたらサンプルコードが掲載してあり、たとえば汚いコードからきれいなコードへ整理する過程(?)

このご要望は、リファクタリング(テスト、変更、機能追加をしやすくするためのコード改善)という作業に近いと考えました。
ただ、どうしてもプログラミング言語に依存してしまいます。Javaで書かれているものの、他のオブジェクト指向言語でも適用できる参考書として以下の書籍をおすすめします。



Java、C、C++でのサンプルが書かれているものとして、以下の書籍もおすすめです。

id:kon39392

ありがとうございます。
さっそく購入してみようと思います。
「サンプルあり」に重点をおいていますので参考になりました。

2013/01/19 21:30:01

その他の回答(2件)

id:oil999 No.1

oil999回答回数1728ベストアンサー獲得回数3202013/01/19 16:34:48ここでベストアンサー

ポイント40pt

できたらサンプルコードが掲載してあり、たとえば汚いコードからきれいなコードへ整理する過程(?)

このご要望は、リファクタリング(テスト、変更、機能追加をしやすくするためのコード改善)という作業に近いと考えました。
ただ、どうしてもプログラミング言語に依存してしまいます。Javaで書かれているものの、他のオブジェクト指向言語でも適用できる参考書として以下の書籍をおすすめします。



Java、C、C++でのサンプルが書かれているものとして、以下の書籍もおすすめです。

id:kon39392

ありがとうございます。
さっそく購入してみようと思います。
「サンプルあり」に重点をおいていますので参考になりました。

2013/01/19 21:30:01
id:khazad-Lefty No.2

khazad-Lefty回答回数181ベストアンサー獲得回数272013/01/19 20:01:52

ポイント30pt

何をもって「きれい」とするかにはよりますが、「読みやすいコード」ということを含むのであれば参考になるんじゃないかと。

id:wild_yamato No.3

無頼庵回答回数219ベストアンサー獲得回数452013/01/19 21:15:35

ポイント30pt

 おすすめの本はないのですが、私の経験から言えることは一つ。
 「機能を実現するに入替えが順序にコードをならべること」です。
 要するにコードの順を入れ替えると、機能しなくなるわけです。
 必要なコードはギリギリの最後にするのです。

 無論、コードを入れ替えても機能が変わらない場合は、配列の順序にするなどのルールを作ればよいでしょう。
 因みに昔は「美しいプログラム」と言ってました。

id:kon39392

ありがとうございます。
大変参考になりました。

2013/01/19 21:30:25

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません