7
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

CYBIRDAdvent Calendar 2021

Day 24

新卒のコードリーディング

Last updated at Posted at 2021-12-23

##始めに
こんにちは、@S_onizawaです。
こちらはCYBIRDエンジニア Advent Calendar 24日目の記事です。
前回、23日の記事は@gumitaさんの『応用情報技術者試験に向けて失敗から学んだ対策法』です。
非常に簡潔にまとめられていてわかりやすいですね!
応用情報技術者試験だけじゃなくて他の試験にも通ずることがあるのですごく参考になりました!

###自己紹介
私は2021年にCYBIRDへ新卒入社し、現在はサーバーサイドエンジニアとして主にPHPを扱っています。
大学からUnityやC言語、C++、JAVA、PHPなど様々な言語に触ってきました。
その中でサーバーサイドエンジニアに興味を持ち、この業界に入りました。

##この記事について
新卒で入社して、実際の業務でコードを読んだ時に思ったことについてまとめようとしたものです。
記事の内容としてはコードリーディングについてが主となります。
正直当たり前のようなことしか書いていませんが、初心に返った気持ちで見てもらえるとありがたいです!

##目次

  1. コードを読んで思ったこと
  2. コードを読む際に使っていたこと、見ていたもの
    • コメントを読む
    • 関数の名前を見る
    • コードエディターの機能を使う
  3. 最後に

###1. コードを読んで思ったこと
私が最初の業務で主に行なっていることが他人のソースコードを読み、修正することです。
大学時代は他人のコードを読むなんてことはほとんどしなかったのですごく大変でした。

ソースファイルを一つ読んだだけでは修正する箇所を見つけるなんてできないので、いくつかのソースファイルを読み地道に見つけていくしかありません。
そんな中、できるだけ早く効率よく見つけようと思い、必要ないと思った箇所をサラッと読んだだけだったりしていたことで、わからなくなった時やその箇所が必要だった時に後戻りするはめになったりするので逆に非効率的だったと思います。
コードを読み解いていく中で一番効率的だと思ったのは一行一行丁寧に読んでいくことだと思います。
この関数は何が書いてあるのか、このif文は何を判定しているのか、このforeach文は何をしているのだろうと丁寧に見ていくのが大切です。丁寧に読んでいる分時間はかかるかもしれませんが、より理解深まって修正ミスだったり別の機会に同じファイルを触った時に自然とソースコードの流れが頭に流れていくようになります。

以上のことを簡単にまとめると

急がば回れ

ということです。
言葉の意味そのままに、多少時間がかかっても、 落ち着いて、確実な方法で、やったほうが、安全で成功率も高いです!

###2. コードを読む際に使っていたこと、見ていたもの

####コメントを読む
これは一番大事です!
コメントを読めば大まかな内容が分かります、漏れなくしっかり読みましょう!
※コメントだけで内容を把握したと思わずに中身は必ず読みましょう!

####関数の名前を見る
例えばこんな関数があった場合、

function say_goodbye(){
  print_r('goodbye!');
}

この関数が何をしたいかが一瞬で分かりますよね?
どのソースファイルも関数の名前で何をしたいのかが大体分かるので、関数の名前もしっかり読みましょう!
※こちらも同様に、中身は必ず読みましょう!

####ソースエディターの機能を使う
私が使っているものは visual studio code です。
紹介するのはmacで使っていたものなのでwindowsだとコマンドが少し変わります。

command + P
ファイル検索
必要なファイルをフォルダ全体から探したいときに使います。

command + F
ソースファイルから検索したいものがある時に使います。

command + Shift + F
こちらはcommand + Fの規模が大きくなったものです。
フォルダ全体に検索をかける時に使います。

command + Click
定義へ移動
どこで定義されたものかを知るために使います。
定義移動した後に元のファイルに戻りたい時はctrl + -を使えば戻ります。

###最後に
今回記事にした内容を簡単にまとめると
・コードを読むときは一行一行丁寧に(急がば回れ)
・コメント、関数の記述を読もう
・ソースエディターの使える機能は使おう

みなさん初心に帰って読んでくださったでしょうか。
次回はCYBIRDエンジニア Advent Calendarの最終日です!
@garyumaru さんの『Unityのシェーダーを使って画像をマスクする』です。お楽しみに〜!

7
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?