投稿元:
レビューを見る
プログラミングを仕事/趣味としている人は1度読んでおくといいかも。
数個アプリやシステムを書いた後、自分のコードの書き方について考え始めたあたりで読むと効果的。
投稿元:
レビューを見る
やはりプログラミング界のバイブル的な本だけあって、読んでいて非常に勉強になる。
というか、今まできちんと読んだことがなかったのが恥ずかしいくらい…。
タイトル通り、コーディングの作法についても大変勉強になるが、この本の内容はそれだけにとどまらない。データ構造・アルゴリズムやテスト手法についての基礎的な内容についても言及されており、それぞれの章に実践的なコーディング例が紹介されている。
またソースの言語もC言語、C++、Javaなど多方面からアプローチされており、手続き型言語とオブジェクト指向言語の両パラダイムでの実現方法が知れることもありがたい。
巻末にはそれぞれの章でのポイントが箇条書きで記されているので、コーディング作業で悩んだ際に辞書的な使い方もできる。
仕事としてコードを書く人には必読の一冊だと思う。
投稿元:
レビューを見る
C言語の勉強に適した1冊です。
ps.
20年ほど前の話で申し訳ありません。
最初にK&RのC言語の本で、C言語の勉強をしました。
すぐにはC言語でプログラムをうまく書くことはできなかったので、
UNIXのソースコードで勉強するようにしました。
最初はC Beautifierのソースコードを使っていました。
リカーシブコールを使うと単純な構造のプログラムになることがわかりました。
リカーシブコールは、場合によってはスタックオーバフロを招くので、
なんでも使えばいいものではないことをMISRA-Cを勉強して知りました。
本書は、MISRA-Cのような作法と、それ以外の作法を理解する、よい出発点となると思います。
自動車向けのように安全性が必要なシステムでは、メモリの利用量、計算時間が見積もりにくいリカーシブコールを使うことは原則として行わないMISRA-Cのようなプログラミング作法が大切なので、併せて関連書籍を読むとよいと思います。
日本語でもMISRA-C研究会から2冊参考資料がでているようです。
投稿元:
レビューを見る
プログラミング歴2年のまだまだ新米プログラマですが、いかに自分が雑なプログラミングをしていたか思い知らされました。
言語を特定しないメタレベルでの話題も多いですが、想定しているレイヤーは全体的に低めです。主にC言語を使った解説ですが、bashやPerlもちょくちょく出てきます。当然、サンプルコードにはポインタが多用されているので、まずはC言語の周辺知識を固めてから読むべきです。自分はデータ構造をしっかり勉強してこなかったので、2章のハッシュテーブルの項で早くも躓きました。
自分が初心者というのもあって、一回読んだだけではこの本の真の価値は理解できていないんだろうなというのが正直な感想です。数ヶ月後にもう一度読み直してみるつもりです。(2011.08.30)
投稿元:
レビューを見る
多少なりともプログラミングするんだったらこういう本を早い段階で読んでおくべきだよなぁ。
『達人プログラマー』に通づるもありつつ、よりプログラミングに対して実践的な内容。Cをベースにした解説なので、メモリの取り方とかデータ構造とか低いレイヤーの話が多い。
でも、高級言語を日常使っているからといってそういった話を全く気にしないでプログラミングしてよいはずもないし、むしろどちらかというと意識すべき話。
後半の移植性だとか、記法については、まだ「そうは言っても生産性とのからみで現実的には」と言い訳したくなる部分。また内容的にもハードよりの話でいまいちぴんとこなかった。
投稿元:
レビューを見る
プログラマなら読んでおいた方がよさそうなので読んでみた。
自分が読むには早すぎたかもしれない・・・。
コードがどういうものなのか、大部分が分からない・・・。
投稿元:
レビューを見る
コーディング技術向上のために本を探していた時に、この本を見つけました。Amazonでもレビューがたくさん書かれているので、有効な本だと思います。
本書の内容は、コーディング技術を中心としており、簡単に理解できる内容から、理解に時間がかかる内容まで含まれていました。
よくあるソフトウェアの方法論でなく、コーディングやデバックの内容が中心です。
自分がオススメするのは、デバックの章の内容で、経験からわかるデバックのツボのようなことを記述しています。自分は10年以上実装をしていますが、「そうそう」と頷ける内容でした。
例えば、「5.3. 手がかりのない困難なデバック」・・・・では、「バグを再現できるようにしよう」「分割統治しよう」「出力表示によってバグ探索範囲をせばめよう」・・・という感じでデバックのコツが記述されています。
読んだ後は、自分は参考書のように机の左はじに置いておきます。
・経験を凝縮した内容なので、コーディングの経験を積みたい方にお勧めします。
・一般的な記述法や、プログラミングガイドとしてもたいへんすばらしいので、独学でプログラミングをしている方にもお勧めします。
投稿元:
レビューを見る
基礎的だが実践的なプログラミングの作法集。プログラミングをやるなら本書に書かれている内容は一通り頭に入っているべきであろう。
注意点としては、2000年に出版された本であるために、C++を「できたてほやほやの言語」と言っており、STLも「標準となるかわからない」と言及されていることである。もはや2012年現在ではC++でSTLを使用しない方が「悪いコード」であろう。言語機能に関する記述については、言語の進化を鑑みて読む必要があると思う。
投稿元:
レビューを見る
プログラムの設計、実装、テスト等の諸作業に対して何の指針も持ってない人には、とても参考になる。
以下、適当な感想。
プログラムの内部設計においては、データ構造の如何がプログラム全体に及ぼす影響が大きい。データ構造が決まると、自然とそのデータ構造に対する操作が決まるため。設計レビューなんていうと、データ構造とその操作がどうあるかをレビューすれば、ほかの詳細なんて二の次でいいと思った。
インタフェースに丸々1章分取っていることからも、インタフェース設計は重要。だが、難しい。最初からきれいなインタフェースは設計できるものではない。
少なくとも設計時に考えること。インタフェース、データ構造とアルゴリズム、リソース管理、エラー処理、テスト要件。
投稿元:
レビューを見る
2000年の本なので摘み読みで流し読み。
C,C++,javaを題材にコードが書かれている部分があるが後半部分は考え方だったり、コードの書き方を言語を知らなくても悪い方、良い方を並べて書かれていたりするので解りやすい。かも。
第7章、性能の項目「7.5メモリ効率」の部分に書かれている「最初のアプローチは速度の改善の場合と同じだ。気にするな。」の部分が妙に気に入った。その後の文章は「それでも気にしなければいけない場合もあるから〜」と続けているが、「気にするな」の単語が妙に気に入った。書き方に固執したり執着して書き上げるスピードが遅い、ちゃんとしようとして書き上がるのが遅いのが自分でも解っている証拠なのだろう。
取りあえず完成させてから考えた方が良さそうだ。もっとコードを書いてから読むべきなのかも知れない。
投稿元:
レビューを見る
プログラミングのテクニックなどが記載されていて、大変参考になる書籍です。邦訳もわかりやすいですね。
内容が濃いので、静かなところでじっくりと読むのに適しています。
伝説の(?)プログラマーが、自分のテクニックを公開しているので、何度呼んでもためになります。
投稿元:
レビューを見る
割と古い本だけど,プログラミングの基本の「ほ」を学ぶに良いと思う.
何か言語を学んで,実際に作ってみて,その次ぐらいのタイミングに.
何を,なぜ気にすべきかなどが,分かりやすく説明されている.
投稿元:
レビューを見る
C言語を理解していない自分には、ちと理解しにくかった。ほんと、Cをしっかり勉強すべきだった。← 手遅れ…
投稿元:
レビューを見る
コーディング規約からアルゴリズム,CSVファイル読み込み実装まで
プログラミングに関する手法についていろいろ説明している。具体的にはC言語を例としてどういうコードを書けばよいかについてサンプルをいろいろ掲載している。
個人的に特に有用だったのは1章のコーディングスタイルとCSVファイルの読み込み方法。読みやすいコードを書くには,「リーダブルコード」という本も参考になる。一部重複している内容があった。
CやC++にはCSVファイルを読み込む標準的な方法やライブラリはなく自分で実装する必要がある。プロトタイプを作りながら,汎用的にするにはどうすればいいか具体的に書かれており参考になった。
テストやプロファイルなど広範に渡っており有用な書籍だと思った。
投稿元:
レビューを見る
2000年出版ということもあり、若干時代の流れを感じる。
デバッグやコードレベルのパフォーマンスチューニングなど各項目の考え方は有用に感じた。
多くはClangで解説しているので、メモリやアドレスの処理など低レイヤーの話が多く、不慣れなせいか読むのに疲れた。