LoginSignup
1
1

More than 5 years have passed since last update.

プログラムを書くときに心がけている事

Last updated at Posted at 2018-11-03

ときどき「きれいですね」って言われることがあリます。
Qiitaなので、もちろん容姿のことではなく、ソースコードのことです。
お世辞でもそう言ってもらえるのは嬉しいので、普段どんなことを気をつけているか書いておく事にしました。なお、Code Completeとかに書いてあるような一般的なことは、書いても面白くないので省略してます :-P

そもそも書かない

自分が使っている言語やフレームワークの機能をしっかりと理解して、車輪の再発明をしないように心がけています。例えば、Pythonでループ処理でループのインデックス値も使いたい場合。例えばこんなソースコードを書いてみます。

ループのインデックス値を独自実装で使う
names = ['Alice', 'Bob', 'Charlie']
index = 0
for name in names:
    print (index, name)
    index += 1

でも、実はPythonにはループ時に要素だけでなくカウンタも取得できるenumerateがあります。

ループのインデックス値をPythonの機能で使う
names = ['Alice', 'Bob', 'Charlie']
for index, name in enumerate(names):
    print (index, name)

この例のように、自分が使っている言語やフレームワークにどんな機能があるのかを、常に好奇心を持って探すようにしています。

改行やスペースに注意を払う

インデントを揃えるのはもちろんなのですが、スペースや改行にも注意を払います。意味のない2文字以上のスペースや2行以上の改行は使わないようにしています。余分なスペースや改行は、ソースコードフォーマッターも積極的にはきれいにしてくれません。

こういう事にならないよう気をつけている
public class Person  {  /* ← 中括弧の前が意味なく2文字スペース */
    private String name;

    public void setName(String name) {
        this.name = name;
    }

    public String getName() {
        return this.name;
    }
        /* ← 意味なく2行以上の改行 */

}

画面は小さめ、フォントは大きめ

ときどき若い人で、巨大なモニターに小さな文字でコーディングをしている人を見ます。そんな見晴らしのいい環境だと、ちょっとやそっとのサイズではメソッドを分割しようというモチベーションがわかないので、ノートパソコンオンリーで作業しています。

名前を可能な限り短くする

変な略語にならないレベルで、変数名やメソッド名を短くする。特に意味の重複などには気をつける。

重複あり
public class Player {
    private int playerId

    public void setPlayerId(int playerId) {
        this.playerId = playerId;
    }

    public int getPlayerId() {
        return playerId
    }
}

このクラスだと、player用のものであることは明白なので、その辺を短くして見ます。
でも、Playerクラスの中に入っているので、idだけで意味は通じますよね、多分。

重複を削除
public class Player {
    private int id

    public void setId(int id) {
        this.id = id;
    }

    public int getId() {
        return this.id;
    }
}

ゴミ掃除をする

使われなくなったライブラリー、呼ばれなくなったメソッド、参照されなくなった変数などは、気がついたら消すようにしています。IDEのサポートもありますが、メソッド呼び出される可能性があるかどうかについて調べるには、そのメソッドをコメントアウトしてコンパイルしてみるとわかります(ただしリフレクションで呼ばれることを除く)。

神は細部に宿る

最後ですが、神は細部に宿ります。こう言った日々の活動の積み重ねが、コードをきれいにするコツかなと思いました。まる。

1
1
1

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
1
1