できたらサンプルコードが掲載してあり、たとえば汚いコードからきれいなコードへ整理する過程(?)が紹介されているものが、いろいろなアルゴリズムにおいて掲載されているようなものがもしあれば教えていただきたいと思い、質問しました。
小規模ながら社内システムを作る機会が多くありまして、きれいなコードを書きたいと常々思っております。
が、私がエンジニアを本業としていた期間は2年程度で、他者からコードの書き方を具体的にいろいろ学べたのはその期間だけでした。
その後ももちろん自分なりにエンジニアたちのブログ等を参考に、「達人プログラマ」や「CODE COMPLETE」など、レベルアップのために読むべきとされている本は継続的に読んでおり、それを読んでいるときは「なるほど」と納得するのですが、それらの抽象的な話を実際に活かせてるかどうかというと、あまり活かせてない気がします。
「ここはこう修正すべき!」のような具体例がたくさん掲載されているものはあるでしょうか。よろしくお願いします。
このご要望は、リファクタリング(テスト、変更、機能追加をしやすくするためのコード改善)という作業に近いと考えました。
ただ、どうしてもプログラミング言語に依存してしまいます。Javaで書かれているものの、他のオブジェクト指向言語でも適用できる参考書として以下の書籍をおすすめします。
リファクタリング―プログラムの体質改善テクニック (Object Technology Series)
Java、C、C++でのサンプルが書かれているものとして、以下の書籍もおすすめです。
レガシーコード改善ガイド (Object Oriented SELECTION)
このご要望は、リファクタリング(テスト、変更、機能追加をしやすくするためのコード改善)という作業に近いと考えました。
ただ、どうしてもプログラミング言語に依存してしまいます。Javaで書かれているものの、他のオブジェクト指向言語でも適用できる参考書として以下の書籍をおすすめします。
リファクタリング―プログラムの体質改善テクニック (Object Technology Series)
Java、C、C++でのサンプルが書かれているものとして、以下の書籍もおすすめです。
レガシーコード改善ガイド (Object Oriented SELECTION)
ありがとうございます。
さっそく購入してみようと思います。
「サンプルあり」に重点をおいていますので参考になりました。
何をもって「きれい」とするかにはよりますが、「読みやすいコード」ということを含むのであれば参考になるんじゃないかと。
リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)
おすすめの本はないのですが、私の経験から言えることは一つ。
「機能を実現するに入替えが順序にコードをならべること」です。
要するにコードの順を入れ替えると、機能しなくなるわけです。
必要なコードはギリギリの最後にするのです。
無論、コードを入れ替えても機能が変わらない場合は、配列の順序にするなどのルールを作ればよいでしょう。
因みに昔は「美しいプログラム」と言ってました。
ありがとうございます。
大変参考になりました。
ありがとうございます。
2013/01/19 21:30:01さっそく購入してみようと思います。
「サンプルあり」に重点をおいていますので参考になりました。