ロジックに強いエンジニアになるために

「カッコいいエンジニア」と聞いて、どんな人を想像するでしょうか?
多くの方は、複雑な処理をササっと書いてしまう人と答えるように思います。
いわゆる、ロジックに強い人ですね。
今回はロジックに強くなるにはどうしたらいいのかについて考えていこうと思います。
(私の経験を基にした内容ですので、個人差があります。)

注意点

始めに大事なことを書きますが、
ロジックに強くなるのは二の次にした方が良いと思います。
これは個人的な意見ですが、共感してくださる方は多いと思います。
というのも、ロジックに強い弱いで変わるのは作業スピードくらいで、
新たな技術を学ぶことの方が「できること」の幅は広がるかと思います。
Excelと連携させてみる等、色々な処理を書いてみることを優先しましょう。

それでも時間をかけても何から書くべきか分からないという方もいるかと思います。
そんな初心者や極端にロジックに苦手意識のある方が、
いち早く別の勉強に取り掛かれるようなロジックを考える時のコツをまとめていきます。

コツ①:書くべき内容を整理する

複雑な内容をコードに起こせるかどうかは、
その内容をどれだけ理解できているかによると思います。
処理の流れがイメージできないことには書きようがありませんので、
実際にコードを書く前に、処理フローを紙に描いてみましょう。
そしてそれを基にコードのアウトラインだけ書いてみましょう。

(必要なクラスやメソッドの用意・コメント作成して、
後はコードを書くだけの状態にするということです。)
もしその後コードを書けず止まるようであれば、
処理フローやコメント作成の粒度が大きすぎる可能性があります。
これなら書けそう!な内容になるまで、
処理を細かく分解して考えるようにしましょう。

コツ②:頭がスッキリする書き方にする

せっかく書く内容を把握できていても、
書いたコードが読み辛いと途中で混乱してしまい台無しです。
他人が見ても読みやすいコードを目指せば、
自分で書いたり読んだりしていて混乱することもないかと思うので、
まずは統一できる部分を揃えるということを意識してみましょう。
チームで書くならそこのコーディングルールを、
個人で書くなら自己流のルールを何か決めて、
徹底してルールを守って書くようにしましょう。
例えばコメントの書き方、インデント、改行位置、変数名などです。
そんなことと思うかもしれませんが、
コードが読みやすいと処理内容を考えられるだけの頭の余裕ができるので
効果は大きいと思います。

また、よく書く処理はメモ帳などに取っておきましょうね。
タイプミスも無くなり時短もできるので一石二鳥です。

まとめ

要するに、丁寧に理解すれば書けるようになるという話です。
もし力試しがしたいのなら競技プログラミング「AtCoder」に挑戦してみましょう。
過去問を1つ選んで、解いてみましょう。
制限時間を超えても良いので解ききってみましょう。
正解するまで手直ししてみましょう。
それができたら十分ロジックに強い人です。

そもそも、力試しをするくらい情熱がある方は、
私は「カッコいいエンジニア」だと思います。