雛か鷹か――プログラミング仕様の変数命名
13521 ワード
多くの人が仕事を探しているのを見たことがありますが、彼らの言葉の中で最も感銘を受けた言葉は「新卒者は仕事を探しにくい」、「仕事の経験がなければ芝居ができない」ということです.では、なぜ新卒者は仕事を探しにくいのか、なぜ雇用単位が仕事の経験のある人を望んでいるのか.
簡単に言えば、雇用単位はお金を使って雇った人がすぐに利益を創造することを望んでいます.彼らが望んでいるのは「鷹」で「雛」ではありません.
そう言えば、新卒者が就職しにくいわけではないし、経験がないから就職しにくいわけでもない.企業のために直接利益を創造することができないので、仕事を見つけにくいのが根本です.では、どのように雇用単位に利益を創造できると思わせるか、あるいはどのように雇用単位に初心者ではなく専門家だと思わせるか.
もちろん、専門とアマチュアを区別する標識には、基礎知識や専門技能のほかに、多くの人が最も無視しやすい場所であるコード規範があります.基础知识と専门技能はさておき、それらは长い时间の学习が必要で、强靱な精神と抜かない気力が必要で、决して一朝一夕に解决できる问题ではありません.今日、私たちは最も基本的な最も簡単で、多くの人が最も無視しやすい符号化規範から話します.
一人のコードから、この人が「雛」なのか「鷹」なのか、プロなのか卒業したばかりの学生なのかを大まかに断定できる.
まず、次のコードを見てみましょう.
上は複雑ではない過程で、何人も性に耐えて見ることができないと信じています.もしあなたが面接でこのようなコードを書くならば、安心して自分に“申し訳ありませんが、きっとPassにされました!”を教えることができて、コードの上で人を使う単位からあなたが1人の初心者だと思って、あるいはあなたがすぐに企業のために利益を創造することができないと思っています.
変数の命名だけでこのコードを書いた人が「雛」であることがわかります!変数、a、bなどをアルファベットで命名します.これは誰がやったのですか.これは学生がやったことだから、プロがやったことではないに違いない.このようなネーミングは、後のコードメンテナンスに増加するワークロードに与えられ、前に定義されたaはstringタイプの変数である.このコードを読んで、30行後、鬼はあなたのaがどんなタイプなのか、何を使っているのかを知っています.もし工事全体がこのようなコードであれば、メンテナンスがどんなに苦しいことか想像できます.雇用単位はなぜこのような「雛」を使うのか、彼は自分の会社に不要な面倒をもたらすしかない.
正しい変数命名仕様:
l ハンガリー表記法タグデータ型またはコントロールタイプを採用
l変数に表意性の強い名前を付ける
例えばintIndex、dgvStudentInfoはstrTempのような変数名が極めて気持ち悪い.
l変数名の省略はできるだけ避け、省略しなければならない場合は必ず省略して変数の理解に影響を与えないことを保証しなければならない.
l変数名における大文字と小文字の混在
例:
-DIM strFIRSTERNIME as stringもdim strlastname as stringも規範化されていません
l統一的な量詞を用いて末尾に置く
例:
-Dim strFirstCustomer As String
-Dim strLastCustomer As String
-Dim strPreviousCustomer As String
上の変数定義は下の変数定義がなくてもっと理解しやすくて検索します
-Dim strCustomerFirst As String
-Dim strCustomerLast As String
-Dim strCustomerPrevious As String
以上のいくつかの原則によって、自分のコードを規範化して、自分のコードの可読性を強化することができます.
以下に示す
しかし、規範に合致する変数だけでは足りない.可読性の強いコードは、注釈の作成にも注意しなければならない.コード注釈の作成については、次回にしましょう.
簡単に言えば、雇用単位はお金を使って雇った人がすぐに利益を創造することを望んでいます.彼らが望んでいるのは「鷹」で「雛」ではありません.
そう言えば、新卒者が就職しにくいわけではないし、経験がないから就職しにくいわけでもない.企業のために直接利益を創造することができないので、仕事を見つけにくいのが根本です.では、どのように雇用単位に利益を創造できると思わせるか、あるいはどのように雇用単位に初心者ではなく専門家だと思わせるか.
もちろん、専門とアマチュアを区別する標識には、基礎知識や専門技能のほかに、多くの人が最も無視しやすい場所であるコード規範があります.基础知识と専门技能はさておき、それらは长い时间の学习が必要で、强靱な精神と抜かない気力が必要で、决して一朝一夕に解决できる问题ではありません.今日、私たちは最も基本的な最も簡単で、多くの人が最も無視しやすい符号化規範から話します.
一人のコードから、この人が「雛」なのか「鷹」なのか、プロなのか卒業したばかりの学生なのかを大まかに断定できる.
まず、次のコードを見てみましょう.
1: Sub ExportExcel(ByVal a As DataGridView, ByVal b As Boolean)
2: Try
3: Dim n, i, j, row, col As Integer
4: Dim e As Excel.Application = New Excel.Application
5: e.Application.Workbooks.Add(True)
6: col = 1
7: For n = 0 To a.ColumnCount - 1
8: If b Then
9: If a.Columns(n).Visible Then
10: e.Cells(1, col) = a.Columns(n).HeaderText
11: col = col + 1
12: End If
13: Else
14: e.Cells(1, n + 1) = a.Columns(n).HeaderText
15: End If
16: Next
17: row = 2
18: For i = 0 To a.RowCount - 1
19: col = 1
20: For j = 0 To a.ColumnCount - 1
21: If b Then
22: If a.Columns(j).Visible Then
23: e.Cells(i + 2, col) = a.Rows(i).Cells(j).Value
24: col = col + 1
25: End If
26: Else
27: e.Cells(i + 2, j + 1) = a.Rows(i).Cells(j).Value
28: End If
29: Next
30: Next
31: e.Visible = True
32: Catch ex As Exception
33: Throw ex
34: End Try
35: End Sub
上は複雑ではない過程で、何人も性に耐えて見ることができないと信じています.もしあなたが面接でこのようなコードを書くならば、安心して自分に“申し訳ありませんが、きっとPassにされました!”を教えることができて、コードの上で人を使う単位からあなたが1人の初心者だと思って、あるいはあなたがすぐに企業のために利益を創造することができないと思っています.
変数の命名だけでこのコードを書いた人が「雛」であることがわかります!変数、a、bなどをアルファベットで命名します.これは誰がやったのですか.これは学生がやったことだから、プロがやったことではないに違いない.このようなネーミングは、後のコードメンテナンスに増加するワークロードに与えられ、前に定義されたaはstringタイプの変数である.このコードを読んで、30行後、鬼はあなたのaがどんなタイプなのか、何を使っているのかを知っています.もし工事全体がこのようなコードであれば、メンテナンスがどんなに苦しいことか想像できます.雇用単位はなぜこのような「雛」を使うのか、彼は自分の会社に不要な面倒をもたらすしかない.
正しい変数命名仕様:
l ハンガリー表記法タグデータ型またはコントロールタイプを採用
l変数に表意性の強い名前を付ける
例えばintIndex、dgvStudentInfoはstrTempのような変数名が極めて気持ち悪い.
l変数名の省略はできるだけ避け、省略しなければならない場合は必ず省略して変数の理解に影響を与えないことを保証しなければならない.
l変数名における大文字と小文字の混在
例:
-DIM strFIRSTERNIME as stringもdim strlastname as stringも規範化されていません
l統一的な量詞を用いて末尾に置く
例:
-Dim strFirstCustomer As String
-Dim strLastCustomer As String
-Dim strPreviousCustomer As String
上の変数定義は下の変数定義がなくてもっと理解しやすくて検索します
-Dim strCustomerFirst As String
-Dim strCustomerLast As String
-Dim strCustomerPrevious As String
以上のいくつかの原則によって、自分のコードを規範化して、自分のコードの可読性を強化することができます.
以下に示す
1: Sub ExportExcel(ByVal dgvSouse As DataGridView, ByVal blnIsOnlyVisible As Boolean)
2: Try
3: Dim IntColumnNumHead As Integer
4: Dim IntRowNumText As Integer
5: Dim IntColumnNumText As Integer
6: Dim IntCurrentRow As Integer
7: Dim IntCurrentCol As Integer
8: Dim Excel As Excel.Application = New Excel.Application
9: Excel.Application.Workbooks.Add(True)
10: IntCurrentCol = 1
11: For IntColumnNumHead = 0 To dgvSouse.ColumnCount - 1
12: If blnIsOnlyVisible Then
13: If dgvSouse.Columns(IntColumnNumHead).Visible Then
14: Excel.Cells(1, IntCurrentCol) = dgvSouse.Columns(IntColumnNumHead).HeaderText
15: IntCurrentCol = IntCurrentCol + 1
16: End If
17: Else
18: Excel.Cells(1, IntColumnNumHead + 1) = dgvSouse.Columns(IntColumnNumHead).HeaderText
19: End If
20: Next
21: IntCurrentRow = 2
22: For IntRowNumText = 0 To dgvSouse.RowCount - 1
23: IntCurrentCol = 1
24: For IntColumnNumText = 0 To dgvSouse.ColumnCount - 1
25: If blnIsOnlyVisible Then
26: If dgvSouse.Columns(IntColumnNumText).Visible Then
27: Excel.Cells(IntRowNumText + 2, IntCurrentCol) = dgvSouse.Rows(IntRowNumText).Cells(IntColumnNumText).Value
28: IntCurrentCol = IntCurrentCol + 1
29: End If
30: Else
31: Excel.Cells(IntRowNumText + 2, IntColumnNumText + 1) = dgvSouse.Rows(IntRowNumText).Cells(IntColumnNumText).Value
32: End If
33: Next
34: Next
35: Excel.Visible = True
36: Catch ex As Exception
37: Throw ex
38: End Try
39: End Sub
しかし、規範に合致する変数だけでは足りない.可読性の強いコードは、注釈の作成にも注意しなければならない.コード注釈の作成については、次回にしましょう.