プログラミングで関数を作る意味とは?

プログラミング
ゆうすけ
ゆうすけ

プログラミングを始めたんだけど、
「関数」って何のために使うの・・・?

資格マフィア
資格マフィア

関数は処理の読みやすく、修正のしやすくするために使おう。


✔️ 本記事のテーマ

【プログラミング】関数を使うときのコツ【初心者向け】


✔️関数を使うときのコツ

  • 可読性(コードの読みやすさ)の向上
  • 保守性(コードの修正しやすさ)の向上
  • 機能分割する単位にする


✔️ 読者さんへの前置きメッセージ

本記事は「関数の使い方が分からない・・・」という方に向けて書いています。


この記事を読むことで、
「関数を使う場面や使うときのコツ」が分かるようになると思います。


それでは、さっそく見ていきましょう。

コードを読みやすくする

コードを読みやすくする

関数はコードを読みやすくするために使いましょう。

 

長々とコードを書いてしまうと、
コードがどのような処理をするかが分かりづらくなってしまいます。

 

その結果、自分以外が読んだ時に分かりづらいコードになってしまいます。さらには、後から見返した時に自分すら分からないコードになってしまいます。

 

プログラミングは基本的にはチームで開発します。そのため、読みやすいコードを書けることは優秀なプログラマーであるための一つの要素です。

 

チームメンバのために、そして将来の自分のためにも読みやすいコードを書くための技術は身につけるように心がけましょう。

 

関数を使ってコード書く技術は普段から意識していないと、
なかなか身につけることが出来ません。

 

一つのまとまった処理の単位で関数として、
どのような処理かが分かる関数名をつける習慣を意識しましょう。

 

コードを修正しやすくする

コードを修正しやすくする

関数にすることでコードの保守性(修正しやすさ)が向上します。

 

プログラムを新たに書くときは、
関数化にすることは少し面倒に感じるかもしれません。

 

自分の思うがままにベタ書きで処理を書きたくもなるでしょう。

 

ただ、プログラムは後から修正が発生することが多いです。

特に、部分的な修正は必ず発生します。

 

その際に、関数化していればその関数内だけを修正すれば良いので、他の部分への影響を考えなくて良いです。これがコードを関数化する意義と言えるでしょう。

 

特に人のコードを直すときは、自分が作ってないので、関数化されているかどうかは非常に重要になってきます。

 

もし、関数化されていないベタ書きのコードであれば、コード全体を読む必要があるでしょう。

 

それが処理ごとに関数化されていれば、修正が必要な関数のところだけコードを読めば良いので、工数を大幅に削減することができます。

 

チームで開発することを念頭に置くなら、
関数化しながらコードを書くことを意識しましょう。

 

機能ごとに関数を分ける

機能ごとに関数を分ける

コードを関数化するときは、機能単位で関数に分割しましょう。

 

機能単位で分割することで、先に述べた「コードの読みやすさ」や「コードの修正しやすさ」を最大化することが出来ます。

 

逆に、機能をまたいで複数の関数に分割してしまうと、後から修正する人間としては、非常に厄介です。どこからどこまでが一つの処理かを正しく判断できず、不用意なバグを生みかねません。

 

さらに、処理の単位を意識しながら書かれたプログラムは結果的に「良いプログラム」になることが多いでしょう。

 

処理の単位を意識しながら、関数化していきましょう。

 

また、処理の単位を意識しながらプログラムを書くことで
自然とオブジェクト指向的なプログラミングが身につけることができます。

 

なお、オブジェクト指向については
Pythonでオブジェクト指向を解説する」の記事で解説しています。

 

テストがしやすい

テストがしやすい

関数化する最大のメリットはテストがしやすくなることでしょう。

 

プログラミングとテストはセットです。

 

テストをせずに書かれたコードは、必ずバグを生んでしまいます。

 

コードを書くときに、関数化しておけば、テストをするときも楽です。

 

処理ごとに関数化されていれば、その関数ごとにテストをすることができるので、どの処理までが正しくて、どこから誤った処理になっているかが分かりやすいです。

 

また、関数ならインプットとアウトプットが明確になっているので、テストケースも作りやすいです。

 

このようにテストをする上で、関数化しておくことはとても重要です。

 

なお、Python のテストライブラリの使い方ついては
pytestの使い方【実行方法など】
の記事で解説しています。

 

1回だけ使う処理も関数化する?

1回だけ使う処理も関数化する?

関数化すると聞くと、よく使う処理を関数化しておいて、他の箇所で使い回す・・・というイメージがあるかもしれません。

 

そのため、1回しか使わない処理を関数化するかどうかを迷う方もいるかもしれません。

 

個人的には、1回しか使わない処理も関数するべきだと思います。

 

1回だけの処理でも、その処理として関数化しておくことで、読みやすく、修正しやすいコードになります。

 

また、後からその処理を使いたいなと思ったときに、関数化しておけば使い回すことができるので、工数が削減できます。

 

将来の自分のためにも、積極的に関数化しておきましょう。

 

慣れと練習量が全て

慣れと練習量が全て

コードを書けるようになるのには、慣れと練習量が大事です。

 

とはいえ全くの初心者が独学でプログラミングスキルを習得するのは難しいかもしれません。

 

方法の一つとしてプログラミングスクールを使うのも良いでしょう。

 

プログラミングスクールは以下の3つがオススメです。

✔️オススメのプログラミングスクール ベスト3

これらのプログラミングスクールは全て無料の体験コースがあります。

 

「雰囲気だけでも知りたい」
「プログラミング学習の全体像を知りたい」
「スクールに入るかどうか迷っている」
という方はとりあえず無料カウンセリングを受けてみることをオススメします。

 

無料カウンセリングだけなら費用はかかりませんし、
スクールに通うにしろ、独学で学ぶにしろ、
カウンセリングで得ることができる情報には価値があります

 

プログラミングスクールについては「プログラミングスクールで失敗しないためには【オススメベスト3も紹介】」の記事でも紹介しています。


気になった方はぜひチェックしてみて下さい〜!

コメント

タイトルとURLをコピーしました