iOS
プログラミング
初心者
Swift

自信が無いエンジニアこそコードレビューをするべき

More than 3 years have passed since last update.


概要

コードレビューを受けるのは勿論成長につながりますが、コードレビューをする側になるのも

成長出来るチャンスがたくさんあるなとここ1年で実感しました。

「レビュー」と付いているとすごいこう上からな感じがして

新卒のうちやあまり自信が無い時だと中々やらなかったり、

読んでもわからないからある程度みてあとは適当に流しちゃうとか

そういう人も多いんじゃ無いかなと思います(自分もそうでした)

どんなに短いプルリクでも、1つ1つのコードをしっかり見ることはメリットが物凄くあると思います。

そこで、実体験を元にコードレビューをする側に立った時のメリットを書いていきたいと思います。


自分では書けないコードがたくさん見れる

最大のメリットはここにあるなと思います。

自分じゃ思いつかないようなスマートな書き方や、知らなかったメソッド、

クラス構成などがどんどん目に入ってきて、

「なんでこう書いてるんだろう?」と疑問がたくさん生まれます。

これってめっちゃ成長のチャンスですよね。

自分で調べれば糧になるし、どうしてもわからなければGitのコメントでなぜこうしているんですか?と聞けば

理由も知れるし、得することしかないなと思います。

実際、自分がSwiftを学習始めた時にすぐにコードレビューをした時に、以下のようなコードを見ました。


Swift

guard let identifier = segue.identifier else {

return
}

初めて見た時、guardってなんやねん!とそこで初めてguardを知りました。

もし一人でやっていたら、これを知らないままif letを使いまくっていたことでしょう。。


自分でコードを調べる機会が増える

上記と少し被りますが、みたことない構文などが出てくるとその度に調べないと読めません。

なので、圧倒的に調べる機会が増えます。


Swift

var number = [1,2,3]

number.map{$0 + 1}

最初見た時もうなんじゃこれって感じでした。

ここからmapのことを調べて、省略の仕方を調べ、いつ使うのかを調べて…。

この途中でもしかしたらもっといい書き方をコメント出来るかもしれないし、

実はmapじゃなくてhogehogeを使ったほうがいいとか出るかもしれません。

自分で調べることで自信がつくし、その結果コメントをつけれれば、レビューされる側もメリットがあります。

自分の出来る範囲、考えれる範囲で質問や疑問を投げかけるだけでも、

チームにとってもメリットだと思います


真似できる

同じ人のコードレビューをしているとだいたい癖や好きな書き方がわかってきます。

その人が出来るエンジニアであればあるほど、その癖を掴んで真似していくことで

スキルアップにつながります。


Swift

func viewDidLoad() {

self.setupTableView()
self.setupLog()
self.setupImage()
}

私が超尊敬する大先輩は、こんな風にライフサイクルの中身をなるべく簡潔に

かくのが癖(といっていいのか)の方でした。

実際、ライフサイクルの中身は簡潔にする方がもちろん可読性があがると思っているので

私は常にこういう風に書くことを意識しています。

1つ1つ真似していくと、その人がどんなことを考えて書いているかもなんとなくわかってきます。

そうなると、自分の武器がどんどんできていって、結果成長が出来ると思っています。


自信がないうちは「レビュー」しようと気張らなくていい

コードレビューと言う言葉は、「コードの質をあげるために指摘をする」というイメージ

が強いですが、「コードの疑問点を聞く」側面もあると思います。

特に若いうちは先輩に胸を借りる気持ちで質問をしたり、自分で調べて意見をぶつけてみたり、

そういった繰り返しが実体験としてとても大事だと思っています。

臆さずに自分から積極的にコードレビューさせてください!と言うと、より自信の成長が進むのではないかと思います。

ただ社内の文化や、忙しさなどで「コメントするな!」と言われてしまう場面もあるかもしれません。

文化を変えるように動けるのが得策ですが、なかなか難しいと思うので、

そういう時は友人のを見せてもらうとか、OSSを眺めたりするのが良さそうかなと思います。


終わりに

インプットとアウトプット、どちらもバランスよくしていくことが成長していく中で大事だと教わりました。

コードレビューする側になればインプットができ、コードレビューをされる側の時は自分のアウトプットを評価されます。

そう思うと、コードレビューって本当にエンジニアとしての成長を促進するものだなと思います。

私もまだまだの身ですが、積極的にコードレビューや人にコードをみてもらう機会を増やすよう

これからも活動していきたいと思っていますので

コードレビューをあまりしたことがない方は是非してみるとよいことがあるかもしれません!