チャム&レオ的 記録 - the Internet, Community, Private log
処理をどんどん小さな関数に分割しようということで自分なりに色々考えていたのですが切り分けた関数ってコードのどこに配置してますか?
関連するメソッドの直後に作ったりとか単純にファイルの末尾に追加していくとかABC順になるようにするとか...
細かいこと気にしすぎですか?(笑)
Be the first to rate this post
うーん、気にしてもいいけど悩んで立ち止まる必要はないかな。 私の基準では class XX const定義 型定義 (内部クラスとかEnumとか) public フィールド protect フィールド private フィールド public な内部クラス public プロパティ public メソッド protected な内部クラス protected プロパティ protected メソッド private プロパティメソッド private な内部クラス } 本当はよくない傾向なのですがクラスが複数の機能性を持つ場合には機能性毎に const から private な内部クラスまでの並びを作ります。(後でクラス抽出するときにやりやすいようにしておくって事ですね) 全体としては先を見る前のお約束としてconst/型定義があり、データ項目をフィールドとして並べ、public protected privateの順 privateな内部クラスは雑多な下請けが多いので、そんな細かいとこ見るなって意味もこめて一番下。 ソースを見る相手は自分でなくてclassの利用者なので、publicとかのアクセスレベルによって見る場所を集中させてあげた方が見やすいだろうという考えです。 自分なりの意図で基準を作る方が良いと思います。 意図が見えないコードはどんなに綺麗でも間違ってる様に見えます。
基本的には並べますが途中で飽きて放置かな(w。 Whidbeyはリファクタリング搭載なのでそっちにおまかせ(w。 あと、#regionを入れるように最近はしてる。
なるほどなるほど... 私のこれまでを考えてみると class { const; enum; fields; public constructor; public method; public property; protected method; ... } な感じです なるべくステップ実行したときにあちこち飛ばずに ファイルの下の方に順番に行くようにと思ってるのですが やっぱりあちこち飛んでいってしまったり(笑) そういえば #region 内部を展開して表示していたかというステートが 保存されたりされなかったりという感じになるのは私だけでしょうか? 一度プロジェクトを閉じても再現されるときもあれば まったく無視されてすべて表示状態になったりとか なんか気まぐれな感じなんですが...
Microsoft MVP for Data Center Management - Management Infrastructure, Jan 2008 - Dec 2010. Microsoft MVP for Windows Server - Networking, Jan 2004 - Dec 2007.
RSS Feed
The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.