- ソリューションアーキテクト
- プロジェクトマネージャー
- テクニカルオペレーション
- Other occupations (4)
- Development
- Business
- Other
お疲れ様です。高知からリモートインターンシップしている森田です。2020年になるということで、ドラゴンから改名して違うニックネームを考えたいと思います。インターン生はニックネームつけるのがルールなので(大嘘)
コードレビュー
今日は今まで書いてきたコードをレビューしてもらいました。自分で見ても汚いコードだったので、ボロクソに叩かれるんじゃないのかとビクビクしていたんですが、普通にレビューしてもらえたので、よかったです。勉強になります。森さん、石井さんありがとうございます!
もらったアドバイスは
・一つの関数に書いてあるコードが長すぎる
・無駄なwhile文がある
・ try catchを例外処理以外で使うのはよくない
・エラー時の処理をどこかにまとめる
でした。API GWのデータの受け取り等のAWS の仕様ばかりを気にして、基本的なところができていなかったなと思います。コードが長すぎるのは、違うことをしている箇所を関数として切り分ければ解決します。
ただ、僕の癖として「ここでまた切り分けると、今度はメソッド多すぎじゃなイカ?」と考える癖があるので、切り分けがうまくできていませんでした。なので、次は切り分けすぎるぐらいにコードを書いていこうと思います(年明けには忘れてそうですが)。
try catchは例外処理だけ
見出しのままなんですが、いまいちその理由がわかっていませんでした。挙動的にはif文と同じ動作なので、if文の代わりに使っていたりしました。「エラーのときも全部通しちゃうよね〜」と言われて、やっとtry catchの意味がわかりました。正常なデータを通すときはif文と挙動は変わらないですが、無効なデータを通す際にはif 文とは違った挙動をします。
通ればいいや精神で考えていたので、上の事実を見逃していました。大学のプログラミングサークルだと、競プロの人のコードが素晴らしい!面白いコードが楽しい!みたいな感じでやってるので、なかなか気づけませんでした。これからはテスト駆動開発でイキリ散らかしていきます。
エラー時の情報を外部ファイルに定義する
エラー時には、エラーコードとメッセージをレスポンスとして返すんですが、その情報が散らばっているので、外部ファイルに定義するようにアドバイスもらいました。外部ファイルに切り分けるという考え方が僕の頭からすっぽり抜けているので、そういった切り分け方も意識していこうと思います。
インターンを初めて半年が経過しました!
5月ごろからインターンさせていただいて、半年以上が経過しました。インターンも40日ほどやらせていただきましたが、色々勉強させていただきました。いい環境で学ばせていただいているので、しばらくは勉強させていただきたいなあ、と個人的には思っています。(お願いします)
振り返ってみると、今回と前回の課題のような、色々なサービスを組み合わせて何かを作る課題が一番しんどかったような気がします。設計する力や、問題点を洗い出していく力が弱いと感じているので、次のインターンからは、どこが嫌だと感じているか、どこが分からないのか、を言語化しながら進めていけたらなと思います。
3月まではこのインターンシップにしがみ付きたいと思っているので、サーバーワークスのみなさん、来年もよろしくお願いします!
それでは良いお年を!
*追記: 大阪にお邪魔させていただいている間、森さんにご飯を奢ってもらいました。大阪オフィスのみなさんもありがとうございました。またお願いします。