0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

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

Last updated at Posted at 2020-01-21

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

言いたいこと

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

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

実装.cs
#region event
private void Form1_MouseMove(object sender, MouseEventArgs e)
{
    IsPaintBox();
}
#endregion
#region method
private void IsPaintBox()
{
    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();
}
private int[] GetMousePosition()
{

}
private void DrawBoxFrame()
{

}
private void PaintBox()
{

}
#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(マウスの位置が四角の中なら)
    {
    	四角を塗るメソッド();
    }
}
マウスの位置を補足するメソッド()
{

}
四角を塗るメソッド()
{

}
四角の枠を描写するメソッド()
{

}

みたいな

最後に

英語がわかりにくいんだ

0
0
5

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?