BookTweetはじめにメモはじめにもっと可読性、メンテナンス性のいいC言語プログラムを書けるようになりたいと思い、下記の書籍を読みました。見る今回の記事は、この書籍を読んで参考になった部分をTwitterでメモしたものになります。2019関数は、最初から最後までを同時に頭に叩き込める長さ、つまり目の届く長さにしなければならない。2019ダラダラとケジメのないプログラムは、動作もケジメなく、バグが取れないものである。2019100行を超えたら「いやだなぁ」と感じろ。200行を超えたら「恥ずかしくて誰にも見せられない!早く直さねば!」と感じろ。2019関数の始まりは、プログラムで一番重要なところ。2019無駄な事には努力をしない、「いかに楽するか」に対して努力をする。2019変数名は、出来るだけ意味のあるフルスペルに近いものにする。2019ソースファイルの内部だけに名前を限定し、他に見せるべきでないものには、どんどんstatic宣言をする。関数の内部変数をstatic宣言することで、関数実行後もその変数を残すことが出来る。2019フラグを多用しない。切り出し、もとの箇所に関数名を書く。切り出した部分を、無理やりでも関数の形に整形する。コンパイルして、エラーを出して、未宣言変数を調べる。局所的なら関数内部に、でなければ引数に加える。3と4をエラーがなくなるまで繰り返す。2019インクルードファイルに書かれているものをグローバルに、ソースファイルに書かれているものをローカルにして、所在がはっきりと分かるようにする。2019設計とは、目的の処理をどうやって実現するか、どう関数に分解するか、などの「意図」や「全体の流れ」を書き上げるものである。「設計とは細分化の作業」である。細分化するかが腕の見せ所。2019フローチャートは、制御の流れを「もろ」に書けてしまうので良くない。プログラムは、データを処理するためにあり、データの違いによって制御の流れが変更される。変数、引数などをどう定義するかで、プログラムの組みやすさは大幅に改善される。データ構造を図にする方がはるかに役に立つ。z)各座標に3回座標変換を施すのではなく、3つの座標変換の積を求めておき、それで全座標を一度だけ座標変換する方がよい。2019CADやグラフィックスのようなプログラムでは、3次元座標変換などの一連の関数群をきちんと用意し、ライブラリにして、全員で使うようにすることが不可欠である。2019複数人で開発を行う時にはヘッダーファイルの使用は欠かせない。全体に共通に使うため、この部分にバグが入ると一瞬で全体にバグの作用が及び、極めて深刻な状態になる。2019プログラムの信頼性を上げるには、プログラムを短くすることが一番である。無駄なファイルなど作らないことである。プログラムを書かなければ、バグが入り込む余地などない。2019インデントが深くならないコツif文でエラーの場合を先に処理する。本来の目的の処理の前でエラーチェックが全て行われると、それ以降は正常処理に集中すれば良くなる。2019データは、必ず「本当」のデータをそのまま入れるように心がける。2019本来は違うものを引数で渡し、関数の側で都合の良い型とみなして処理する。2019エディタの機能を抹殺するようなコーディングだけはやめよう。あらゆることを考えた上で、必要なことはしっかりやるが、必要でないことはやらないというのが、正しいエンジニアの姿。手を抜けるのが、正真正銘のエンジニア。2019師を見つけ、師に追い付いたら、また次の師を見つけるくらいでないと上達しない。師への一番の恩返しは、仕えることではなく、師を追い抜くことである。2019文句が多く、高い要求を出すけれども、ダメなところについてはしっかり理由をいってくれる人がベストである。2019最新のソースには、できるだけ過去の遺物を残さないようにする。2019プログラムを組めることよりも、どうやったらプログラムが完成するかを追求する。プログラムを書かずに、目的を達成できれば最高である。2019キャストは、あくまで「ごまかし」に過ぎない。コンパイラがプログラムの欠陥情報を報告しているのに、キャストでそれを出なくするのは勿体無い。キャストなどしなくてすむように、いろんな変数などの型を、ちゃんと自然なものに定義する。2019行数が多い関数を細分化するには、内容理解の前に理解できる単位に分割することが最初の作業。100行を超えると理解が難しいので、50行以下が理想。2019ifの条件が真の時にエラーとなるようにすれば、ifの直後のブロックが対応するエラー処理となる。2019たとえオープンソースだとしても、その書き方が複雑で分かりにくければ、それはもはやプロテクトである。2019相当面倒な開発をしている場合には、プロファイルの存在は「天の助け」である。最適化されていないプログラムのプロファイルを取ると、たった一つの関数が実行時間の過半数を食っていることが多い。2019プログラムのテクニック以上に、データ構造の決定の方がはるかに重要である。データ構造の決定を間違えたら、プログラム全体の変更に発展してしまう。2019全体をどう作ろうかという大枠を定め、方針を決めて作っていくことが、昔も今も今後も一番大切な事である。(1)Sponsorスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。