検索ガイド -Search Guide-

単語と単語を空白で区切ることで AND 検索になります。
例: python デコレータ ('python' と 'デコレータ' 両方を含む記事を検索します)
単語の前に '-' を付けることで NOT 検索になります。
例: python -デコレータ ('python' は含むが 'デコレータ' は含まない記事を検索します)
" (ダブルクオート) で語句を囲むことで 完全一致検索になります。
例: "python data" 実装 ('python data' と '実装' 両方を含む記事を検索します。'python data 実装' の検索とは異なります。)
practical_python_design_patterns

Practical Python Design Patterns - Python で学ぶデザインパターン: The Interpreter Pattern - Part. 3 「ダメ押し確認」の巻 投稿一覧へ戻る

Published 2022年6月25日20:09 by mootaro23

SUPPORT UKRAINE

- Your indifference to the act of cruelty can thrive rogue nations like Russia -

Practical Python Design Patterns - The Interpreter Pattern 編

Parting Shots
(ダメ押し確認)

プログラミングに携わっている限り、常に「より良い」を求めてハードワークに勤しむ心構えを忘れないでください。そのためにもプロジェクトに関わり課題に取り組みましょう。
Jeff Bay が提案している「課題」の1つは、The Pragmatic Programmers から発刊されている Thought Works Anthology に掲載されています。
1000行を超える趣味レベルを超えたプロジェクトを下記の条件を満たしつつ完遂しよう、というものです:
1つのメソッド内におけるインデントは1レベルのみ許されます。つまり、ループの中に if 文は置けず、ネストも存在してはいけません。
else キーワードを使ってはいけません。
全てのプリミティブ型と文字列はそのままでは使用できずオブジェクトでラップしなければいけません。
Collections はファーストクラスですから、独自のオブジェクトでラップしなければいけません。
名前に省略形を用いていけません。名前が長過ぎる、ということは、そのメソッド、もしくは、クラスで複数のことを行おうとしている可能性があるからです。
1行内で利用できるドットオペレーターは1つだけです。つまり、object.method() は大丈夫ですが、object.attribute.method() は許されません。
全てのエンティティをできる限り小さく保たなければいけません。1つのパッケージに含めるのは15オブジェクトまで、1つのクラスは50行以内、1つのメソッドは5行以内です。
1つのクラスで定義できるインスタンス変数は2つまでです。
Getters や setters (Python では getattr() や setattr() メソッド) を使用したり、プロパティに直接アクセスすることはできません。
これは非常に難しいですけど、普段の自分のコーディングスタイルを見直す非常にいいきっかけになります。是非お試しを...。