誰でもできる、プログラミングにおけるミスを減らすいくつかの方法

公開日:2019-01-28
最終更新:2019-01-28

プログラマー1年生の時、僕はミスが多いことで有名でした。
プログラムを完成させることに頭がいっぱいになって、確認を怠ったり、さっきまで問題無く動作していた部分がいつの間にかバグっていたり。
そんな僕がプログラマー人生6年の間に身につけた、ミスを減らすための方法を箇条書きでまとめます。
ツールを使ったり、テストコードを書いたり、というものではなく、
誰でも、今すぐにできる方法をまとめます。
なので、ここに書くのは、当たり前なことばかりです。

初心者プログラマーが一番最初に意識すべきことは、「ミスが重なると、信頼を失う」ということです。
そして、ミスの大小は関係無いと思った方がいいです。(たいしたミスじゃないからいいじゃん、は通用しません。)
信頼を得るのは簡単ではないですが、信頼を失うのは一瞬です。


一度に一つずつ変更を加える

一度に複数箇所に修正を加えてから動作確認をすると、どの変更が原因でバグが発生したのかわからなくなります。

例えば、

「SQL文を変更して、取得したデータを表示するロジックを変更して、HTMLの要素を追加する」⇨チェック

ではなく、

「SQL文を変更」⇨チェック
「取得したデータを表示するロジックを変更」⇨チェック
「HTMLの要素を追加」⇨チェック

というように、一度に一つずつ変更を加えていきましょう。
そうすれば、思うような動作をしていないことに早めに気づける&問題点を見つけやすくなります。


「嫌な予感」を放置しない

なぜ動いているかわからない、なんかたまに変な動きをする、なんとなくこれじゃダメな気がする。
というような、なんとなく感じる「嫌な予感」を放置しない。(エンジニア界隈では、臭うコード、コードの臭いという表現が使われますね。)

嫌な予感はだいたい当たります。

なぜ動いているかわからない系は、自分の変更箇所をしっかり確認して、どの変更によって動作が変わったかを判別できたら、解決に近づきます。
それでもわからない場合は他のエンジニアを頼りましょう。

※臭うコードの特徴を知るのも大事です。この記事にイイ感じにまとめられていました。
コードの不吉な臭い


テストする順番、項目を決めておく

ミスするのが怖くて、何度も何度も繰り返しテストしたり、順序や確認すべき箇所をあらかじめ考えずに、感覚的にテストしていると、ミスに気づきにくいうえに効率が悪いです。
先にテストすべき箇所と順番を決めておくと、効率よくバグを潰せます。
どのようなテストが必要か考える練習にもなるので、おススメです。


完成後、時間を置いてからまたチェックしてみる

ずっと同じコードと向き合っていると、客観的な視点を失い、単純なミスに気づきにくくなります。
時間が許す限り、一旦時間を置いてみましょう。

これは、エラーが解決しない時にも有効です。
まったく歯が立たなかったエラーが、一度席を外してリラックスしてから挑むと、すんなり解決した。
次の朝に挑むと、一瞬で解決。
というのはよくあることだと思います。


完成しました。という前に、他のエンジニアにチェックを頼んでみる

完成しました、と言った後にバグが見つかると、かなり気まずいですよね。
可能であれば、他のエンジニアに「ちょっとおかしいところないか見てくれませんか?」とお願いしてみましょう。

頼み方やタイミングに注意が必要だけど、適切なタイミングでお願いすると、喜んでチェックしてくれるはず。
お互いのコードをラフにチェックする文化があると、ミスを減らせるし、気持ちも楽になります。

頼まれた方も「頼りにされている」と感じるので嫌な気分はしないはず。
(後輩エンジニア、新人エンジニアにお願いすると、自信を持ってくれる&ミスを減らせる&誰でもミスをするということを理解してくれるので、一石三鳥)

まとめ

ざっくり箇条書きしてみました。
ポイントは、
「理解できない、説明できないコードは書かない」
「どんなテストが必要か考えておく」
「どうしてもわからない部分は、他のエンジニアを頼る」
という部分かと思います。

記事が少しでもいいなと思ったらクラップを送ってみよう!
109
+1
@rokujiroの技術ブログ

よく一緒に読まれている記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう
目次をみる

技術ブログをはじめよう

Qrunch(クランチ)は、ITエンジニアリングに携わる全ての人のための技術ブログプラットフォームです。

技術ブログを開設する

Qrunchでアウトプットをはじめよう

Qrunch(クランチ)は、ITエンジニアリングに携わる全ての人のための技術ブログプラットフォームです。

Markdownで書ける

ログ機能でアウトプットを加速

デザインのカスタマイズが可能

技術ブログ開設

ここから先はアカウント(ブログ)開設が必要です

英数字4文字以上
.qrunch.io
英数字6文字以上
ログインする