yamata's Engineer blog

28歳 エンジニアを再度目指してます。有益情報発信中!

コードを書くのも重要だけど、それよりも重要な事。

おはこんばんちは、yamataです。

progateで勉強したり、現在の筆者の様にスクールで通って実際にコードをガリガリ書いたり、仕事でコードをガリガリ書いたりしている人、様々な人がおられるかと思います。

今回はコードを書く事よりも重要な事を書き綴っていきます。

結論。他人の書いたコードを読めるようになろう!

 成長するためにはコードを書いて実際に動かして、どうなるだろう、どこが間違っているのだろうと想像する事が大事です。

が、もっと重要な事を見出しに書きましたが、それ以上に他人の書いたコードを読めるようになるのも重要だと感じました。

これはJavaやらPHPやら、難しい言語に限ったことではありません。HTMLやJavascriptにも言えることです。

自分もそうでしたが、当時本当に初心者だった頃を振り返ってみると、タブの使い方や同じコードを2回書くなど、本当に汚いコードでした。

とりあえず動くコードは通過点でしかありません。まずは綺麗なコードをみて、どういう動きをしているのか、この処理の次はどこの処理に移るのかなど、考えながら触れてみましょう。

良いコードって?

良いコードとは、自分の考えを書いてみます。

  • 読んでくれる相手(仕事であれば上司、独学であれば先生やメンター等)が、コードを読んでスーッと頭に入りやすい、見やすい読みやすいコード
    自分がコードを書いてわからない事があった時に質問をする際、読んでくれる人は時間を割いて読んでくれます。
    また、仕事で上司をシステムを構築する際、上司とソースコードを連携させる時も、自分の書いたコードを説明する時もあると思います。
    この変数は何だろう、この処理の次はどこに行くんだっけ?とならない様に、綺麗なコードを描ける様になりましょう。
  • システムが完成した後、コードの保守や拡張が容易にできる事
    完成したシステムを顧客から改修してほしいといった要望や、はたまたSESで顧客先に常駐になった時に完成されているコードを改修する事になることもあると思います。
    自分の体験談ですが、SESで常駐した顧客先では、膨大なソースコードからある場所を見つけて 数字を変えるといった簡単な作業でしたが、兎に角読みやすく、変えるべき場所がわかり易かった記憶があります。
    そういった経験から、保守や拡張が容易にできるソースコードは良いコードだと考えています。
  • 同じコードを2度書いていない、また使っていない変数、メソッド等の無駄なコードがない
    これも、社内開発をしていた時によく言われていました。
    ほぼ新人だったので同じコードを書いていた事は許されていましたが、同じコードを書いても使うのは1つだったり、読み直してみたら使っていなかったりしているので、気をつけていきましょう。
  • 変数名、メソッド等の名前をつける時にわかりやすくする
    変数名に"hoge"や"a"等、なんの意味もないコードを使っていた事があり、これなんの変数だっけ?って陥る事がありました。
    綺麗なコードを見ていると、キャメルケースで書いてある事が殆どです。
    以下、キャメルケースについてweblio辞書から引用させていただきます。

    キャメルケースとは、アルファベット複合語フレーズ表記する際、各単語要素語の先頭の文字大文字表記する手法のことである。

    例えば、通常の英語の表記では「this is an example」とスペース隔て表記するが、キャメルケースでは「thisIsAnExample」とつなげて表記する。

     最初の単語の頭文字だけ小文字、次の単語以降は頭文字だけ大文字にする書き方がJavaでは一般的です。

    多少長くはなってしまいますが、こちらの方が何の変数か理解しやすくわかりやすいコードになるので意識していきましょう。

コードを書く、プログラミングをする上でも大事な事

  • 有識者や先輩プログラマ、仲間に相談する
    会社の上司や、プログラミングを仕事としている高校や大学の先輩、インターネットのオンラインサロン等が、質問しやすいです。
    ただし、オンラインサロンはレベルの高いサロンに入ってしまうと、質問しているレベルが高すぎて質問しづらくなるので、駆け出しエンジニアより少しレベルの高い所を選んで入会して質問してみましょう。
  • ググる
    ググレカス”と言われているように、今はググったら答えやヒントが出てくる時代です。
    少し言い方が悪いですが、相談するのは相手の時間を奪う行為です。
    有識者に相談する前にまずググる。それでもわからなければ相談するように心がけましょう。
  • Qiitaを使用する
    Qiitaは、プログラマのための情報共有サービスです。先人達が詰まった所の解決方法を記載してくれています。
    まぁ簡単な話、エンジニアバージョンのyahoo知恵袋みたいな物です。
    筆者が現役でエンジニアをしていた頃、先輩に聞きづらくてQiitaのサイトでよく解決していました。
    駆け出しエンジニアの皆さんも、もっとレベルが上がって、行き詰まった所の解決策を、未来の人たちに向かって発信していきましょう。
    勿論、自分も世話になったので今後発信していきます笑

    Qiitaはこちら

  • MENTAでメンターを見つける
    メンターとは、簡単に言えば相談者です。プログラミングの質問を聞いてくれる人のことを指します。
    MENTAは、プログラミングの質問をし放題のメンターが登録しており、お金を払って質問者(皆さん)がお金を払って質問をする場を提供しているサイトです。MENTAはこちら
    利用者からしてみたら、お金がかかってしまうので、そこがデメリットかなと言えます。
    しかし、交流会やイベントへ行かず、人脈を作らずとも質の高いエンジニアの頭脳を自分の物にできると考えれば、そこまで高くない出費かと考えます。その結果でメンターの仲間とも人脈ができたりもしますからね。
     

いかがでしたでしょうか。

自分でガリガリコードを書くよりも、一旦立ち止まって綺麗なソースに触れてみて、自分も真似してみた方が成長の速度も早くなるかもしれませんね。
しかしながら自分が書いた事は綺麗なソースコードを書けるようになる本当にごく一部でしかないので、興味を持たれた方は是非リーダブルコードという書籍を読んでみて下さい。もっと為になる事が書いてあります。

 

お読み下さってありがとうございます。

ではでは、この辺で。