LoginSignup
14

More than 5 years have passed since last update.

初級プログラマー卒業のために

Last updated at Posted at 2018-02-01

ここで言う初級プログラマーとは、
数行のコードすら書けずにパソコンの前でフリーズすることは無いが、
書いたコードがどこかおかしいというようなプログラマーです。
このレベルで成長が止まったままおじさん・おばさんになってしまうエンジニアも多いのではないでしょうか?
そういったプログラマーが上のランクに上がれるにはどうすればいいか、考えてみました。
是非、実践してみてください。

01. まずAPI仕様書を読もう

いきなりググって質問サイト等のトラブルシューティングを見たり、
類似ソースコードをコピペしたりする人が多いが、
まずは、API仕様書や公式ドキュメントを読もう。それが「基本に忠実」なやり方だと思います。
バージョンの違いや若干のロジックの違い等に合わせて、適切なAPIを適切に使用する必要があるからです。

02. フレームワーク・ライブラリに寄せよう

難しい処理はたいてい先人たちが既に作ってる。
自分で処理をゴリゴリ書いた分だけバグを作りこみやすい。
まずは使えるFW・ライブラリが無いか調べてからコーディングに取り掛かろう。

03. 綺麗に書こう

綺麗に書くのは自己満足のためではないです。
バグが発生しづらくなり、さらに他メンバーにもバグを見つけてもらえるからです。
「バグっていたら気づく」というようなコードを目指そう。

04. コードレビューをしよう

おじさんエンジニアほど、コードレビューというものをしないような?気がします。
コードレビューをすれば他メンバーの仕様理解が深まり、
さらにコードの品質も上がって一石二鳥です。

05. 手作業を減らそう

手入力によるタイプミスで、バグったり、変数名がDBと合ってなかったりすると後でみんなに迷惑がかかります。
手入力よりコピペしよう。
コピペを何回もするならマクロでやろう。
マクロも面倒ならツールつくろう。

06. 将来発生するだろう修正箇所を1カ所にまとめよう

ここを修正したら、こっちも修正しないといけない、
というようなコードは修正漏れによるバグの原因になります。

07. 大きいメソッドは分割しよう

おじさんエンジニアに多い?気がするのですが、モンスターメソッドを書く人が居ます。
メソッドは分割しておきましょう。
JUnitなどの単体テストの粒度が粗くなってしまい、バグに気づけないです。
「1メソッド1画面以内」という格言は信じておきましょう。

08. マジックナンバーは絶対やめよう

マジックナンバーを使う人の心情は分かりませんが、仕様理解が困難なコードになってしまいます。
というのも、マジックナンバーを使っている個所の判定ロジック全てを検索し、
意味を類推する作業が必要になります。
将来のコードを修正する人に大迷惑をかけます。

09. パフォーマンスを意識しよう

ループの中の処理はできるだけ軽くすること。
配列、木構造、ハッシュテーブルといったデータ構造によるパフォーマンスの違いを意識すること。
DBでも、プログラミング言語でも、どちらもパフォーマンスを意識しよう。
DBのインデックスのほとんどは木構造(オンメモリの場合はハッシュテーブルの場合もある)ですし、
データ構造を学んでおけば今後に生かせます。
基本情報技術者試験などのIPA資格を意味ないなんて言う人も居ますが、
そんなことないと思います。この資格にもデータ構造が出てきます。

10. コメントはできるだけドキュメンテーションコメントだけ書こう

「コメントを書け」と言われるかもしれないが、
それは私の見解では半分は嘘だと思う。
このクラスやメソッドは何をするモノなのか?といったことを
ドキュメンテーションコメントで表現する程度でいいと思う。
具体的な処理内容よりもインターフェイス。

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
14