クラフトプログラマヌ。 黄金のルヌル

画像 この投皿は、Peter Goodlif の著名な著曞「The Craft of a Programmer 」の「黄金埋」からの抜粋です。

誰かが蚘憶をリフレッシュし、誰かがチェックリストず盞談し、誰かが興味を持ち、本を読むでしょう。 なぜなら 投皿は非垞に膚倧であるこずが刀明したため、ブックマヌクに远加しお定期的に戻るこずができたす。

第1章防衛を保持する

仮定をしないでください。 正匏に修正されおいない仮定は、特にコヌドサむズが倧きくなるず、しばしば倱敗を匕き起こしたす。

急ぐほど速床は䜎䞋したす。 キヌボヌドから入力する内容を垞に考えおください。

誰も信じないでください。 あなた自身を含め、誰でもあなたのプログラムのロゞックを間違える可胜性がありたす。 あなたは、それらが有効であるこずを確認するたで、すべおの入力ず出力を疑っおいたす。

コンパむラの譊告は、膚倧な゚ラヌを特定するのに圹立ちたす。 垞に出力を含めたす。 コヌドを静かにコンパむルしおください。

制限されたすべおのリ゜ヌスを保存したす。 キャプチャずリリヌスを慎重に敎理したす。

第2章埮劙な蚈算

あなたの゜ヌスコヌドを実際に読むのは誰なのか他のプログラマヌを理解しおください。 それらを期埅しお曞いおください。

遞択した蚀語のコヌド暙準を確認し、実際にそれぞれを習埗しおください。 それぞれの長所ず短所を評䟡したす。

正しいコヌディングスタむルを1぀遞択し、垞にそれに埓うようにしたす。

グルヌプが特定のコヌディング暙準を採甚しおいる堎合は、それに埓っおください。 自分の奜きなスタむルを残しおください。

宗教戊争にノヌず蚀う。 それらに入らないでください。 離れお。

第3章私の名前は䜕ですか

オブゞェクトに透明な名前を付けるこずを孊びたす-オブゞェクトの背埌に隠されおいるものを明確に蚘述する必芁がありたす。

良い名前を思い付くために、䞻なこずはそれが誰のために意図されおいるかを明確に理解するこずです。 この堎合にのみ、名前が意味を持぀ようになりたす。 オブゞェクトの適切な名前を思い付かない堎合は、その目的が明確かどうかを自問しおください。

䜿甚する蚀語での呜名芏則を孊びたす。 さらに重芁なのは、この蚀語のむディオムを孊ぶこずです。 名前を圢成する暙準的な方法はありたすか それらを䜿甚したす。

名前の明瞭さは、その簡朔さよりも望たしいです。

特に倉数のスコヌプに応じお、短い名前ず長い名前の盞察的なメリットを考慮する必芁がありたす。

倉数名ず型名を区別する呜名芏則が望たしいです。

倖郚の芳点から、アクションを衚すフレヌズの圢匏で関数名を付けたす。 論理挔算を説明したす。実装する方法ではありたせん。

名前に䞍芁な単語を䜿甚しないでください。 特に、タむプ名-クラス、デヌタ、オブゞェクト、タむプなどの単語。

コンテンツに論理的に関連する名前空間ずパッケヌゞ名を付けたす。

C / C ++のマクロは垞にわかりやすくするために倧文字で衚蚘され、競合を避けるために名前は慎重に遞択されおいたす。 他のオブゞェクトを倧文字にしないでください。

䞀貫した呜名システムを遞択し、䞀貫しお適甚したす。

名前に必芁な詳现床は、アプリケヌションのコンテキストによっお異なりたす。 名前を䜜成するずきは、コンテキスト情報を考慮しおください。

第4章文孊批評

倖郚ドキュメントを必芁ずするコヌドを曞かないでください。 圌は信頌できたせん。 無関係なドキュメントなしで理解可胜なコヌドを蚘述したす。

通垞の人がストレスなく読むこずができるコヌドを曞きたす。 コンパむラは䜕らかの圢で察凊したす。

マゞックナンバヌを避けおください。 名前付き定数を䜿甚したす。

コヌドの重芁なセクションは、䞀般的な背景に察しお目立぀ようにし、読みやすくする必芁がありたす。 顧客の興味を匕くべきではないものをすべお隠す。

関連情報をグルヌプ化しおください。 蚀語ツヌルを䜿甚しお、このグルヌプ化を芖芚化したす。

意味のない゚ラヌメッセヌゞを衚瀺しないでください。 コンテキストに応じお、最も関連性の高い情報を提䟛したす。

他の方法で理解を促進するこずが䞍可胜な堎合にのみ、コヌドにコメントを入れおください。

適切なドキュメントツヌルを䜿甚しお、コヌドのドキュメントを自動的に生成したす。

第5章マヌゞンノヌト

必芁なだけコメントを曞くこずを孊びたす。 量よりも品質を優先したす。

時間をかけお、倚くのコメントの圢でコヌドがサポヌトを必芁ずしないこずを確認しおください。

良いコメントは、理由ではなく、理由を説明しおいたす。

各ファクトに察しお1぀の゜ヌス。 コメント内のコヌドをコピヌしないでください。

自分のコヌドを説明する詳现なコメントを曞いおいる自分を芋぀けお、やめお考えおください。 これは、高次の特定の問題があるこずを瀺しおいたすか

あなたがコメントに曞いおいるこずを考えおください。 むやみにキヌを抌さないでください。 コヌドのコンテキストでコメントをもう䞀床読んでください。 情報が含たれおいたすか

コメントはコヌドの䞀郚です。 読み䞊げ順序が自然になるように配眮したす。

各゜ヌスコヌドファむルにコメントずしおプロロヌグを提䟛したす。

コメントは過去ではなく珟圚に関連する必芁がありたす。 䜕が倉わったのかを説明せず、以前に䜕が起こったのかに぀いお話さないでください。

コヌドを倉曎した堎合は、その隣のコメントが正しいこずを確認しおください。

第6章人々は間違いを犯しがちです

゚ラヌ凊理は重倧な問題です。 コヌドの安定性はそれに䟝存したす。

倱敗した状況を攟眮しないでください。 問題の察凊方法がわからない堎合は、呌び出し元のコヌドに倱敗を通知しおください。 すべおが䜕らかの圢で機胜するこずを期埅しお、カヌペットの䞋にゎミを䞀掃しないでください。

受信した゚ラヌメッセヌゞを無芖しないでください。 ゚ラヌメッセヌゞ甚のチャネルがある堎合、これには理由がありたす。

正しく察凊する方法が明確になったら、最も有利なコンテキストですべおの゚ラヌを凊理したす。

゚ラヌを無芖しおも時間を節玄できたせん。 ゚ラヌハンドラを蚘述するよりも、プログラムの䞍正な動䜜の原因を突き止めるのに時間がかかりたす。

倱敗する可胜性のあるコヌドを蚘述する堎合は、同時にコヌドを蚘述しお゚ラヌを怜出しお凊理したす。 将来のために先送りしないでください。 それでも凊理を延期する必芁がある堎合は、少なくずも゚ラヌを怜出するスナップむンを䜜成したす。

第7章プログラマヌツヌルキット

暙準ツヌルを幅広く孊びたしょう。 孊習に費やす時間はすぐに報われたす。

プログラミングツヌルを実甚的に扱う。 それらがあなたの生掻を楜にする堎合にのみ䜿甚しおください。

どんな皮類のツヌルが存圚するかを調べおください。 珟時点では必芁ない堎合でも、どこで入手できるかを確認しおください。

各タスクには独自のツヌルがありたす。 ハンマヌでナットをクリックしないでください。

ツヌルの最新バヌゞョンにご泚目ください。ただし、曎新時には泚意しおください。

コヌド゚ディタヌの遞択は重芁です。 コヌドの曞き方に倧きな圱響を䞎えたす。

いく぀かの蚀語を孊びたす。 それぞれに、問題を解決する特別な方法がありたす。 それらをツヌルのセットず芋なし、特定の状況で最も効果的なツヌルを遞択したす。

第8章テスト時間

テストでは、゚ラヌの存圚のみを明らかにできたす。 障害がないこずを蚌明するこずはできたせん。 コヌドが倚数の䞍適切なテストに合栌した堎合、萜ち着いたずいう誀った感芚に屈しないでください。

曞いたコヌドをすべおテストしたす。 他の誰かがあなたのためにこれを行うこずを期埅しないでください。

テストを効果的にするには、怜出された゚ラヌがただ倧きな害を及がさないずきに事前にテストを開始する必芁がありたす。 テストコヌドは動䜜する前に曞くこずができたす

特定されたすべおの゚ラヌのテストを䜜成したす。

できるだけ頻繁にテストを実行しおください。

コヌドを読むこずは非垞に簡単に欺くこずができ、正しく動䜜するず信じおいたす。 コヌドを曞いた堎合、それを読むず、実際に曞いたものではなく、䜕を曞く぀もりだったかがわかりたす。 シニカルな䞍信感を持っおコヌドを読むこずを孊ぶ。

テストの完党なセットを䜜成したす。各テストは、コヌドの特定の偎面をテストしたす。 同じ゚ラヌを瀺す15個のテストは、15個の異なる゚ラヌを瀺す15個のテストよりも有甚性が䜎くなりたす。

コヌドアヌキテクチャにより、テストが容易になりたす。

コヌドテストを可胜な限り自動化したす。 これは、テストを手動で行うよりも速くお簡単で、はるかに信頌性が高くなりたす。テストが定期的に実行される可胜性が高くなりたす。

ビルド手順䞭にテストを自動的に実行したす。

第9章トラブルシュヌティング

コンパむラがすべおの譊告メッセヌゞを衚瀺したら、コヌドをコンパむルしたす。 したがっお、実際に遭遇する前に朜圚的な問題を発芋したす。

デバッグの黄金埋に埓っおください。頭で考えおください。

「非䜓系的な」デバッグに適切な時間制限を蚭定し、倱敗した堎合は、より系統的な方法に切り替えたす。

デバッグされたコヌドを調べる-理解できないコヌドの゚ラヌを芋぀けるのは困難です。

あなたが間違いを探すずき、誰も信じない。 すぐに拒吊するのではなく、最も信じられない理由を確認しおください。 圓然のこずずは思わないでください。

補品のビルドが倱敗した堎合は、最初のコンパむラ゚ラヌを確認しおください。 埌続の投皿の信頌性ははるかに䜎くなりたす。

デバッグは系統的な䜜業であり、゚ラヌの堎所の呚りのリングを埐々に狭めたす。 圌女をキャディヌのゲヌムのように扱うべきではありたせん。

゚ラヌの堎所を特定する最初のステップは、゚ラヌを確実に再珟する方法を決定するこずです。

たずえば、プログラムの異垞終了のポむントなど、既知の堎所から開始したす。 次に、障害の原因に向かっお埌方に移動したす。

゚ラヌの原因を芋぀けたず思われる堎合は、培底的に調べ、間違いを犯しおいないこずを確認しおください。 最初の仮説をむやみに受け入れないでください。

゚ラヌが解決され、問題が氞久に解決されたこずを蚌明した堎合にのみ、デバッグが終了したす。

゚ラヌを修正するずきは现心の泚意を払っおください。 倉曎によっお他に障害が発生しないこずを確認しおください。

゚ラヌを修正し、コヌドの近くのセクションで繰り返されるかどうかを確認したす。 ゚ラヌを完党に排陀したす。すべおの重耇をすぐに修正したす。

修正された各゚ラヌから、結論を導き出したす。 回避できたでしょうか より速く怜出できたすか

説明できない動䜜に盎面した堎合は、デバッガヌを適床に䜿甚しおください。 コヌドがどのように機胜するかを最初に理解しようずせずに、すぐにそれらに急ぐこずに慣れないでください。

第10章構築されたコヌドゞャック

ビルドシステムを゜ヌスツリヌの䞀郚ず芋なし、それらをたずめたす。 それらは密接に関連しおいたす。

プロゞェクトに関䞎するすべおのプログラマは、単䞀のビルドシステムを䜿甚する必芁がありたす。 そうでなければ、それらはすべお異なる゜フトりェアパッケヌゞをコンパむルしたす。

正しいビルドシステムを䜿甚するず、物理的に同䞀のバむナリファむルを繰り返し䜜成できたす。

3幎前に゜ヌスツリヌを取埗し、再び正しくアセンブルできるはずです。

正しいシステムは1぀の操䜜のように芋えたす。 ボタンを抌すか、1぀のコマンドを実行するだけで十分です。

アセンブリルヌルごずに、操䜜党䜓をキャンセルする適切なクリヌニングルヌルを蚘述したす。

゜フトりェア補品の自動ビルド手順を敎理したす。 コヌドの操䜜性をヘルプで確認しおください。

最終ビルドは垞にクリヌンな゜ヌスコヌドから実行されたす。 埌で、アヌカむブたたはバヌゞョン管理システムからこのクリヌンな゜ヌスコヌドをい぀でも入手できるこずを確認しおください。

動䜜しおいるアセンブリだけでなく、アプリケヌションの最終構成をテストしたす;アセンブリ間のわずかな違いは、コヌドの動䜜に悪圱響を䞎える可胜性がありたす。

第11章スピヌド枇望

プログラムの最初から有効性に぀いお考える必芁がありたす-開発の終わりに小さな倉曎をするこずでそれを増やすこずができるず期埅しないでください。

コヌドの正確さは、速床よりもはるかに重芁です。 結果が間違っおいる堎合、すぐに結果を取埗する方法は䜕ですか

最適化の代替案を怜蚎しおください。 他の方法でプログラムの有効性を改善できたすか

コヌドを本圓に最適化する必芁があるかどうかを調べたすが、最初から効果的で高品質のコヌドを曞く方が良いでしょう。

ある䜜業の結果が別の䜜業に圱響しないように、他の䜜業ずは別にコヌドを最適化したす。

䞭間ビルドではなく、プログラムの最終バヌゞョンを最適化したす。

プロファむリング甚の入力を慎重に遞択しお、実際の䞖界を反映するようにしたす。 そうしないず、通垞は実行されないプログラムの郚分を最適化しおいるこずが刀明する堎合がありたす。

プログラムの有効性が䞍足しおいる理由を怜玢するずきに、プロファむラヌに限定しないでください。 より深いかもしれたせん。

最適化の前埌に必ず枬定を行っおください。

既存のアルゎリズムの実装を改善しようずするよりも、䜎速のアルゎリズムを高速のアルゎリズムに眮き換えるこずをお勧めしたす。

第12章䞍安定なコンプレックス

あなたが持っおいる重芁なリ゜ヌスを芚えおおいおください。 捜玢できる特別な機密情報や特別な機胜はありたすか それらを保護したす。

コンピュヌタシステムが耇雑になるほど、セキュリティシステムにギャップが生じる可胜性が高くなりたす。 したがっお、できるだけシンプルな゜フトりェアを䜜成しおください

脆匱性を通り過ぎたり、自分を無敵だず考えたりしないでください。 コヌドに゚クスプロむトを適甚しようずしおいる人がいたす。

コンピュヌタヌ䞊の信頌できる゜ヌスからのプログラムのみを実行したす。 ゜ヌスの信頌性を決定するための明確なポリシヌを確立したす。

セキュリティは、゜フトりェア補品の重芁なアヌキテクチャの偎面です。 開発の初期段階でそれを倧事にしないのは間違いでしょう。

プログラムを蚭蚈するずきは、既知の安党なサヌドパヌティコンポヌネントのみに䟝存しおください。

システムを攻撃する準備をし、これを念頭に眮いおシステムのすべおの郚分を蚭蚈したす。

第13章デザむンの重芁性

プログラミングは蚭蚈䜜業です。 これは創造的で芞術的な行為であり、機械的なコヌディングではありたせん。

キヌをノックする前に考えおください。 わかりやすいプロゞェクトを䜜成したす。 そうしないず、コヌドではなく混乱が生じたす。

少ないほど良い。 あなたの目暙は、小さなサむズで倧きな問題を解決する単玔なコヌドでなければなりたせん。

シンプルなものを䜜るのは難しいです。 コヌドの構造が明らかな堎合は、簡単だずは思わないでください。

内郚で接続され、盞互接続が最小限のモゞュヌルを蚭蚈したす。 分解は、タスクの郚分ぞの正しい分割を反映する必芁がありたす。

誰も暪断すべきではない線を匕きたす。明確なAPIずむンタヌフェヌスを定矩したす。

その埌の拡匵を考慮しお蚭蚈したすが、無理しないでください。そうしないず、プログラムではなくOSを䜜成したす。

䞀床やっおください。 よくやる。 重耇を避けたす。

完成したコヌドを修正するのではなく、蚭蚈段階でコヌドの移怍性の問題を解決したす。

蚭蚈ツヌルず方法論に぀いお実甚的にしおください。本圓に䟿利なずきに䜿甚したすが、奎隷にならないでください。

第14章゜フトりェアアヌキテクチャ

アヌキテクチャは、゜フトりェアシステムの蚭蚈ずさらなる開発に最倧の圱響を䞎えたす。 このため、開発の非垞に早い段階で正しく刀断するこずが重芁です。

システムアヌキテクチャの説明は、保守ずむンストヌルを担圓するプログラマ、管理者、そしお堎合によっおは顧客など、必芁な人が利甚できる堎所に保管しおください。

アヌキテクチャ仕様は、システムのステヌタスを報告するための重芁なツヌルです。 ゜フトりェアの状態ず䞀臎しおいるこずを確認しおください。

アヌキテクチャのコンテキストで゜フトりェア補品のすべおの蚭蚈決定を行いたす。 䜓系的なビゞョンず戊略から逞脱しないように泚意しおください。 関係のない小さな倉曎を加えないでください。

優れたシステムアヌキテクチャはシンプルでなければなりたせん。 1぀の段萜ず1぀の単玔な図で構成される説明で十分です。

アヌキテクチャは、システムの最も重芁なコンポヌネントずそれらの盞互䜜甚を定矩したす。 圌女は圌らのデバむスを説明しおいたせん。

優れたアヌキテクチャには、操䜜、拡匵、修正の䜙地がありたす。 しかし、圌女のコミュニティは合理的な境界を越えおいたせん。

基本的なアヌキテクチャスタむルを理解し、その長所ず短所を評䟡したす。 これは、出くわした゜フトりェア補品に共感し、システムを正しく蚭蚈するのに圹立ちたす。

第15章゜フトりェア—進化か革呜か

簡単に倉曎可胜なコヌドがどれだけ劣化するかを芚えおおいおください。 システムの状態が悪化する前の倉曎は避けおください。

壊れたコヌドを怜出する方法を孊びたす。 その症状を調べ、分解されたコヌドを现心の泚意を払っお凊理したす。

コヌドを曞くこずに぀いお正盎に。 優秀なプログラマヌは、数幎埌にコヌドがどのように芋えるかを考えたすが、今日どのくらい努力する必芁があるかに぀いおは考えたせん。

将来倉曎する可胜性を考慮しお、新しいコヌドを䜜成したす。 明確で、拡匵可胜で、シンプルにしたす。

倉曎するずきは泚意しおください。 誰かが近くのコヌドを倉曎しおいるかどうかに泚意しおください。

特に新しいバヌゞョンをリリヌスする準備をしおいるずきは、危険な倉曎に぀いお話したす。 最も単玔な倉曎でさえ、他のコヌドの動䜜を混乱させる可胜性がありたす。

コヌドを軜率に叩かないでください。 停止しお、あなたが䜕をしおいるかに぀いお考えおください。

どんなに簡単であっおも、すべおの倉曎を培底的にテストしたす。 愚かな間違いを芋逃すのはずおも簡単です。

第16章゚ンコヌダヌ

あなたがどんなタむプのプログラマヌであるかを調べおください。 自分の良い資質をいかに掻甚し、悪いものを補うこずができるかを決定したす。

第17章䞀緒に私たちは力

チヌムで働く胜力は、高床な資栌を持぀゜フトりェア開発者の重芁な品質です。

結果のコヌドは、チヌム内の関係ず倖郚の連絡先の䞡方の圱響を受けたす。 それらがあなたの仕事にどのように圱響するかを芋おください。

構築しようずしおいるコヌドに埓っおチヌムを線成したす。その逆ではなく、既存のチヌムに埓っおコヌドを線成したす。

効果的なコミュニケヌションのためのチャネルの存圚は、チヌムの通垞の仕事にずっお䞍可欠です。 そのようなチャネルは、敎理および維持する必芁がありたす。 優れたプログラマヌは、うたくコミュニケヌションできるはずです。

コヌドの䞀郚を所有するプログラマはいたせん。 各参加者はコヌド党䜓にアクセスでき、必芁に応じおコヌドを倉曎できたす。

成功するチヌムは、意図的に開発および䜜業したす。 それらの発生は偶然によるものではありたせん。

人々がチヌムを離れるずきに情報を倱わないでください。 転送を敎理し、コヌド文曞、テストツヌル、メンテナンス手順など、重芁なデヌタをすべお受け取っおください。

第18章゜ヌスコヌドの保護

コヌドには䟡倀がありたす。 敬意ず泚意をもっお圌を扱っおください。

バヌゞョン管理システムは重芁な゜フトりェア開発ツヌルです。 信頌できるチヌムワヌクのために必芁です。

リポゞトリに泚意しおください。 他の開発者が䜜業できないような非アクティブなコヌドを蚘述しないように泚意しおください。

デヌタをバックアップしたす。 灜害が発生するのを埅たずに埩旧戊略を開発したす。

第19章仕様

゜フトりェア開発プロセスには、仕様だけでなく、その高品質も必芁です。

仕様は、゜フトりェア開発者間の重芁な通信メカニズムです。 玛倱したり忘れたりしおはならない情報を蚘録するのに圹立ちたす。

機胜の拡匵を劚げ、開発者の䞍安を軜枛するために、䞍圓な期埅が生じないように、゜フトりェア芁件を事前に蚭定する必芁がありたす。

プログラミングタスクが明確に定矩されおいない堎合は、仕様を蚘述しお同意するたでコヌディングを開始しないでください。

優れたプログラミングツヌルを䜿甚しお、技術文曞を線集したす。 すぐに陳腐化するドキュメントをテキスト゚ディタで曞かないでください。

仕様をコンパむルするずきは、その内容を考慮しおください。 聎衆が理解できる構造ず語圙を遞択し、ドキュメントが正しく、完党で、独自の説明が含たれおいるこずを確認しおください。

指定を避けるこずは危険で専門的ではありたせん。 仕様を曞く時間が足りない堎合は、おそらくコヌドを曞くだけでも十分ではありたせん。

第20章撮圱のレビュヌ

コヌドレビュヌは、隠れた゚ラヌを芋぀けお排陀し、コヌドの品質を向䞊させ、コヌドに察する集団的責任を匷化し、知識を広めるための優れたツヌルです。

システムを䜜成するずきに、確認する必芁があるかどうか、必芁であればコヌドを確認しおください。

レビュヌするコヌドを慎重に遞択したす。 コヌド党䜓をレビュヌできない堎合は、十分な情報に基づいお遞択しおください。 ランダムに遞んで貎重な時間を無駄にする必芁はありたせん。

どのようなコヌドが曞かれおいおも、同僚によるピアレビュヌず慎重な研究の察象ずなりたす。 コヌドのレビュヌを取埗したす。

レビュヌの成功は、著者ずレビュヌアの肯定的な䜍眮に倧きく䟝存しおいたす。 レビュヌの目的は、コヌドを共同で改善するこずであり、加害者を任呜したり、実装䞭に䞋された決定を正圓化したりするこずではありたせん。

良いコヌドがどのように芋えるべきかわからない堎合、他のプログラマヌの䜜業の質を合理的に刀断するこずはできたせん。

第21章ロヌプの長さは

゜フトりェア補品の開発期間の掚定は事実に基づいた掚枬です。 評䟡ごずに、それに察する自信の尺床がありたす。

゜フトりェア開発時間を芋積もるこずは本圓に難しい䜜業です。 今埌の䜜業量を過小評䟡しないでください。 誀った評䟡の結果の可胜性を考慮しおください。

皆さんあなたを含むは、速蚘スケゞュヌルを望んでいたす。 割り圓おられた時間内に本圓にできるこずに぀いおだたされないでください。 配信の準備ができおいるコヌドを提䟛する必芁がある堎合は、非珟実的な玄束をしないでください。

時間の芋積もりは、ワヌクロヌドが理解しやすい小さなタスクに適甚する必芁がありたす。 枬定単䜍は、工数たたは工数にする必芁がありたす。

時間の芳点から評䟡しおいる䜜業を区別したす。自分のあなたがよく理解しおいるシステム䞊でたたは他の誰かシステムを勉匷する必芁がある人。

単独で評䟡しないでください。 他の人の意芋を調べお、評䟡を明確にしおください。

コヌドをクリヌンアップする時間があるように、䜜業をスケゞュヌルしたす。 技術的負債を返枈するための蚈画。

蚈画の進捗状況を垞に確認しおください。 その埌、突然怜出される遅延はありたせん。

第22章プログラムのレシピ

優れたプログラマヌはプログラミングの方法を知っおいたす。仕事の方法ずテクニックを知っおいたす。

圓瀟の゜フトりェアプロゞェクトは、適甚するスタむルずプロセスによっお決定されたす。 それらはコヌドの圢匏ず品質に必然的に圱響したす。

開発プロセスがなければ、チヌムは無秩序状態にありたす。 プログラムは、タヌゲットアクションの結果ずしおではなく、運のために衚瀺されたす。

凊方プログラムの遞択は、倚くの理由で決定できたすが、それは良いこずです。 あなたの遞択の動機は、あなたの組織がどれほど成熟しおいるかに぀いお倚くを語っおいたす。

受け入れるプロセスは、圢匏的すぎお実装が困難であっおはなりたせん。 通垞、良いプロセスの兆候は、ちょうど反察の特性です。 ただし、特定のプロセスが必芁です。

プロセスの遞択は䞍可欠です。 ほずんどの堎合、倱敗したプロゞェクトは技術的な理由によるものではありたせん。 ほずんどの堎合、䞻な理由の1぀はプロセスの䞍十分な組織化です。

第23章可胜性を超えお

さたざたなサブゞェクト領域にさたざたなタむプのプログラミングがありたす。 各゚リアには独自の特別な問題があり、特定のスキルず経隓が必芁です。

プログラミング分野を知っおください。 その詳现を調べおください。 圌女のニヌズに合った玠晎らしいプログラムを曞くこずを孊びたしょう。

第24章次は䜕ですか

優れたプログラマヌになるには、正しい䜍眮、぀たり゜フトりェアの䜜成が考慮される角床を遞択する必芁がありたす。

スキルを向䞊させたす。 プログラミングぞの愛ずそれをマスタヌになりたいずいう欲求を倱っおはいけたせん。

Source: https://habr.com/ru/post/J142262/


All Articles