【命名編】良いエンジニアは細部までこだわる!見やすいコードを書く方法6箇条

こんにちは!ヒロケイです。

今回は、見やすいコードを書くための方法を紹介します。

  • 他人が書いたコードをレビューするとき、毎回approveだけで終わってしまう
  • 自分のコードをレビューしてもらう時、細かい箇所で指摘されてしまい病む

エンジニアになって間もない方、こんな悩みを持つ方も多いのではないでしょうか?

この記事を書いている時点の筆者もエンジニアになってから10ヶ月が経ちましたが、おんなじ悩みを持っています。

deno
deno

明確な正解例がないから、命名が適切かもわからないよ💦

これから紹介することを意識し、コードに少しづつ反映することができれば、間違いなくあなたのコードのレベルは上がっていきます。

今回は、そんな見やすいコードを書く方法の中でも命名に焦点を当ててみていきましょう!

やりたいことが明確に伝わる単語を使う

まず一つ目のポイントとして、やりたいことが明確に伝わるような名前をつけましょう!

コードの内容が具体的な名前を考えてみると良いかもしれません。

ユーザーを認証する場合を例に見ていきましょう。

const authUser = () => {
  const { authorization, origin } = props.request.headers
  if (!jwt.verify(authorization)) {
    throw new Error('User not authorized')
  }
}

この場合、確かにユーザーの認証情報が正しいかどうかを検証していますが、もっと具体的な名前に変えることができるでしょう。

authUserという名前をもっと具体的にしていきましょう!

実際のコードの内容としては、jwtの検証をしていますね。

なので、verifyJwtという名前の方がコードの内容が具体的です。

ポイント
  • 名前に必要な情報は、処理内容
  • コードを要約して命名する必要はない
  • 処理内容をそのまま正直に命名してあげよう

省略しても良い単語がないか確認する

次に、省略しても良い単語が含まれていないか確認していきましょう!

クライアント側でユーザー情報を取得するリクエストを送信したいとしましょう。

const getUserInfo = async () => {
  await fetch("/user/:id", {
    method: "GET"
....

ここでは、getUserInfoという名前がつけられていますね。

名前に含まれているgetinfoは、無くても名前に必要な情報は失われていないですね。

ポイント
  • 削ぎ落としても名前に詰め込みたい情報が損なわれないならば、削ぎ落とす

覚えておくと便利な命名の技 4選

数値であれば、単位を入れてみる

変数が数値だった場合、単位をつけるのも良いでしょう。

名前の情報が明確になります。

const Modal = (delay_ms: number) => {
   setTimeout(() => {
     return <Modal/>
   }, delay)
} 

引数のdelay_msをつけることで、ミリ秒単位で設定するという情報を付け加えることができました。

変数のスコープが小さければ、簡潔でOK!

renderThumbs={() =>
  itemImages.map((image, index) => (
    <li key={index}>
      <ThumbnailImage
        url={image.url}
        itemName={itemName}
        id={image.id}
      />
    </li>
  ))
}

mapメソッドを使って配列データをレンダリングする例では、imageという簡潔な名前が使われています。

itemImageの方が適切そうですが、map内でしか使わないという特徴があります。

このようなスコープの短い変数の名前は、最低限のシンプルな名前で良いでしょう!

限界値はmin, maxを入れてみる

const itemToManyLimit = 10

一度に購入することができるアイテムに限界値を設定することがありますが、そんなとき、maxを使うと情報が明確になります。maxItemとすることで、明確かつ簡潔になりました。

指定範囲はfirst, lastを入れてみる

const setRentalPeriod = (first, last) => {
  .....
}

アイテムを借りる期間を設定する関数を設定するとして、引数にレンタル期間を設定するとしましょう。

こんな時、firstや lastを使うと期間を直感的に把握できて便利です。

まとめ

命名について少し意識するだけで、コードの質は大幅に良くなります。

ぜひ、今回紹介したポイントを押さえてコードを書いてみましょう。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です