プログラミングできれいなコードが書ければ、人から嫌われることがなく、いつでも使いまわしができるコードを書くことが可能。
今回は、あなたでも簡単にプログラミングできれいなコードかけるようになる5つのコツを紹介していきます。
プログラミングで分かるコードに変える5つのコツ
・きれいに書ける5つのコツ
- インデントをつける
- 命名規則をちゃんと決める
- 変数は意味のある名前をつける
- 1つの関数は30行以内におさめる
- コメントをなるべく書かない
上記の5つを実践すれば、今の100倍は良いコードが書ける。ここから順に説明していきます。
コツ1: インデントをつける
まず、インデントをつけること。どこまでがなんの処理なのか分かるようになるから。
・簡単に言うと...
Tabキーと改行を入れて見やすいようにしよう
・たとえば例として...
Private Sub WorkTimeAdjustment() Dim start_work As Date Dim start_break As Date Dim end_break As Date Dim end_work As Date Dim i As Long For i = 5 To 35 start_work = RoundUpMin(Cells(i, 2)) start_break = TruncationMin(Cells(i, 3)) end_break = RoundUpMin(Cells(i, 4)) end_work = TruncationMin(Cells(i, 5)) If start_work = 0 Then Cells(i, 6) = "" Else Cells(i, 6) = (start_break - start_work) + (end_work - end_break) End If Next i End Sub
上記の例だとどうしても見にくくなってしまう。どっちかというと「見たくない」そんな感じ。
・ここでインデントをつけると...
Private Sub WorkTimeAdjustment() Dim start_work As Date Dim start_break As Date Dim end_break As Date Dim end_work As Date Dim i As Long For i = 5 To 35 start_work = RoundUpMin(Cells(i, 2)) start_break = TruncationMin(Cells(i, 3)) end_break = RoundUpMin(Cells(i, 4)) end_work = TruncationMin(Cells(i, 5)) If start_work = 0 Then Cells(i, 6) = "" Else Cells(i, 6) = (start_break - start_work) + (end_work - end_break) End If Next i End Sub
はい、これで見やすくなりましたね。Tabキーと改行をいれるとマジで見やすい。
・改行のコツ
処理のグループごとに改行をいれるとOK。最初はIf文やFor文の前に改行をいれると見やすくきれいに
・Tabキーのコツ
If文、For文、While文がでてきたら、次の行はぜったいTabキー。スペースキー4回でもOK。1つの処理ごとにTabキーで見やすくきれいに
コツ2: 命名規則をちゃんと決める
命名規則ってのをちゃんと決めておくこと。コードを見たときすぐに変数や定数を見分けるため。
・たとえば、Pythonのコードだと...
class Animal: def __init__(self, animal_name, animal_type, animal_bark): self.name = animal_name self.type = animal_type self.bark = animal_bark def animal_scream(self): result = '{}の動物で名前は{}、鳴き声は『{}』'.format( self.type, self.name, self.bark, ) return result
上記のanimal_name、animal_type、animal_barkみたいな感じで、変数にはスネークケースという命名規則を使っている。ちゃんと命名規則を守るだけで統一感がでて見やすくすることが可能。
・命名規則一覧
命名規則名 | 書きかた | 書きかたの例 |
スネークケース | 単語を『_』で区切る | my_name |
チェインケース | 単語を『-』で区切る | my-name |
ローワキャメルケース | 最初の単語だけ先頭文字を小文字、次の単語から大文字 | myName |
アッパーキャメルケース | 最初の単語から先頭文字を大文字 | MyName |
コツ3: 変数は意味のある名前をつける
変数や定数、名前がつくやつは意味のある名前をつけること。その変数がどんな役割をする変数なのか分かるようにやすくするため。
・たとえば、さっき見せたPythonのコード...
class Animal: def __init__(self, animal_name, animal_type, animal_bark): self.name = animal_name self.type = animal_type self.bark = animal_bark def animal_bark(self): result = '{}の動物で名前は{}、鳴き声は『{}』'.format( self.type, self.name, self.bark, ) return result
Animalの英語が分かれば、パッと見で動物のことについて書いてるかが一目瞭然。もし修正するときもどこを修正したいか分かるからかなり便利に。
コツ4: 1つの関数は30行以内におさめる
1つの関数、クラスは30行以内におさめるようにすること。短くコードを書いて短い時間でなんのコードを書いてるか理解できるようにするため。
・コードを30行以上にすると...
複雑なコードになりがち。修正するときも難しく書いてる本人も頭がパンクする可能性大。時間の無駄をなくすためにも30行以内に書くこと
・コードを30行以内にすると...
コードが見やすく、理解しやすい。しかも1度書いたコードを使いまわせる
・なんか30行以上になっちゃうんだけど...
30行以上になっちゃう場合は、処理を細かく分けれないか確認すること。1つの処理に限定して書くこと。
コツ5: コメントをなるべく書かない
コメントをなるべく書かないこと、書くとしても最小限にすること。今までの4つのコツを使えば、コードを見て大体の処理が分かるようになるから。
・もしコメントを書くなら...
『どんな考えでそのコードを書いたのか』を書くといい。
・Pythonコードの例
class Animal: def __init__(self, animal_name, animal_type, animal_bark): self.name = animal_name self.type = animal_type self.bark = animal_bark def animal_bark(self): result = '{}の動物で名前は{}、鳴き声は『{}』'.format( self.type, self.name, self.bark, ) return result
たとえば上記のコード。4行目から6行目にすべてコメントが入ってたらどうだろう。
・4行目から6行目にすべてコメントが入ってたら...
class Animal: def __init__(self, animal_name, animal_type, animal_bark): # 動物の名前 self.name = animal_name # 動物の種類 self.type = animal_type # 動物の鳴き声 self.bark = animal_bark def animal_bark(self): result = '{}の動物で名前は{}、鳴き声は『{}』'.format( self.type, self.name, self.bark, ) return result
上記のような感じ。正直「いや見たら分かるから」って気持ちになるだろう。見たら分かるようなコードにコメントは不要。
まとめ: きれいなコードを書いて100倍成長しよう
・コードをきれいに書けるコツをおさらい
- インデントをつける
- 命名規則をちゃんと決める
- 変数は意味のある名前をつける
- 1つの関数は30行以内におさめる
- コメントをなるべく書かない
上記5つの書きかたをマネするだけでも、今の100倍はコードがきれいに見やすくなるから試してみてほしい。
・もっと自信をもってコードが書きたいなら...
リーダブルコード。きれいに書ける要素が全てはいってる...そう言っても言い過ぎではない。「コードは動けばいい...」そんな気持ちなら見ないほうがいい。「本気できれいなコードを書きたい」そんな人向け。