Quantcast
Channel: C#タグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 9723

メソッド名を日本語(JP)で作ったら分かりやすいんでは

$
0
0

*日本語でコーディングしてもコンパイルが通るみたいな話じゃないよ

言いたいこと

コーディング始めにメソッドを作るとき

パッと見何をやるかわかりにくい ↓

実装.cs
#region event
privatevoidForm1_MouseMove(objectsender,MouseEventArgse){IsPaintBox();}#endregion
#region method
privatevoidIsPaintBox(){if(csrPos[0]<=BOX_POS_LEFT)return;if(csrPos[0]>=BOX_POS_RIGHT)return;if(csrPos[1]<=BOX_POS_TOP)return;if(csrPos[1]>=BOX_POS_BOTTOM)return;PaintBox();}privateint[]GetMousePosition(){}privatevoidDrawBoxFrame(){}privatevoidPaintBox(){}#endregion

ので 日本語でみたら

日本語.cs
#region イベント
マウスが動いたときのイベント(){四角に色を塗るか判断するメソッド();}#endregion
#region メソッド
マウスの位置を補足するメソッド(){}// 画面初期描写時にのみ使用する四角を描写するメソッド(){}四角に色を塗るか判断するメソッド(){マウスの位置を補足するメソッド();if(マウスの位置が四角の中なら){四角を塗るさせるメソッド();}}四角を塗るメソッド(){}#endregion

わかりやすくない? って話

問題提起

最初から英字・ローマ字でコーディングすると、めっちゃ頭がこんがらがる...

→なら日本人に合った言語=日本語でコード組み立ててみたらいいんでは
→分かりやすくなった(手間は増える)

メリット(日本語で組むとどうなる)

・わかりやすい≒見やすい → 不足点・変更点が見つけやすい
 これが大きい

・そのままコメント化できる
 英字で作った後にコード読み直しながら概要コメントを作らなくていい

・メソッド名を考えやすくなる
 マウスが四角の上に来たら四角を塗りつぶすメソッド
 →マウスが四角の上に来たら/四角を塗りつぶすメソッド
 →Mouse_On_Square / Paint_Square
 →Paint_Square_On_Mouse
 みたいな

・メソッド作る目的の軸がブレない
 GetMousePosition より マウス位置取得、の方が
 目的が明確に見える ワイは見える

デメリット

・多人数プロジェクトだと 命名の仕方が人によってバラつきが出そう
 日本語→英字に変える時、コーディングルールに気をつけよう
 既存メソッドがあるならそれに合わせよう(既存プロジェクトなら)

・後で結局メソッド名作んなきゃなのでめんどくさい

具体例

作成するプログラムは
「カーソルを四角の中に移動させると、四角の中に色がつく」
とする

流れとして
①イベントとメソッドを1つずつ作る
②メソッドを細分化する
③メソッドへ遷移する条件分岐を考える
④足りなそうなメソッドを足す
⑤完成
の順で考える

①イベントとメソッドを1つずつ作る.cs
マウスが動いたときのイベント(){四角に色を塗るか判断するメソッド();}四角に色を塗るか判断するメソッド(){}

すごく大まかにつくる ↑

②メソッドを細分化する.cs
四角に色を塗るか判断するメソッド(){}//↓マウスの位置を補足するメソッド(){}四角を塗るメソッド(){}

大まかなメソッドに、何が必要なのかを解体して考える ↑

③メソッドへ遷移する条件分岐を考える.cs
四角に色を塗るか判断するメソッド(){マウスの位置を補足するメソッド();if(マウスの位置が四角の中なら){四角を塗るメソッド();}}マウスの位置を補足するメソッド(){}四角を塗るメソッド(){}

どう遷移するかぼんやり書く↑

④足りなそうなメソッドを足す.cs
四角の枠を描写するメソッド(){}

上の方で遷移書いてみて、足りないなーと思う機能(動作)が出たら追加する
出なければいい

⑤完成.cs
マウスが動いたときのイベント(){四角に色を塗るか判断するメソッド();}四角に色を塗るか判断するメソッド(){マウスの位置を補足するメソッド();if(マウスの位置が四角の中なら){四角を塗るメソッド();}}マウスの位置を補足するメソッド(){}四角を塗るメソッド(){}四角の枠を描写するメソッド(){}

みたいな

最後に

英語がわかりにくいんだ


Viewing all articles
Browse latest Browse all 9723

Trending Articles