見出し画像

プログラミングスキルを上達させるためのアレンジ力

プログラミングスキルを上達させる為には既存のプログラムをアレンジする能力が求められます。

なぜならプログラミングは0から新しく作ることよりも既存のプログラムを修正することの方が多いからです。

最初はプログラムをそのまま打ち込むだけで問題ありませんが、慣れてきたら既存のプログラムをアレンジして新しいプログラムを作ってみましょう。

プログラミングアレンジの前にいろいろなプログラムを読んで意図を汲み取ろう

プログラミングスキルを上達させる為にはいろいろなプログラムを積極的に読み、「このプログラムの意図は何か」について考えることが大切です。
なぜなら、プログラムをアレンジする為には元々のプログラムの意図を知らなければならない為です。

ドキュメントやソースコードのコメントが充実していれば問題ありません。

しかし、現実は、

「ドキュメントがほとんどない」
「ソースコードに最低限のコメントしかない」

など、ドキュメントやコメントから意図が汲み取れない現場は数多くあります。
その場合はソースコードから意図を読み取るしかありません。

普段から他人のソースコードを読み意図を汲み取る訓練をしておくことが大切です。

ソースコードを読める場所
「参考書を買う」・「Githubなどの公開されているソースコードを読む」・「プログラミング系のブログ記事を読む」などの方法があります。

職場や学校で他の人のソースコードを見ることができるならそちらも読んでみましょう。

GitHubは登録しなくても公開されているソースコードを見ることができます。
海外の方が書いたソースコードもあるので積極的に活用しましょう。

>>GitHubページはこちら

ソースコードを読んだら自分の技術として吸収しよう
ソースコードを読んだらいくつかピックアップして自分で書いて動かしてみましょう。
ただ読むだけでなく、自分の技術として吸収することが大切です。

プログラムをアレンジする方法

プログラムをアレンジする方法を紹介します。
自分が過去に作ったプログラムや他人が作ったプログラムを機能を追加したり変えたりしてアレンジします。

今回紹介するのは、以下の2つの方法です。


・同じ処理のまま別の処理に変える方法
・流用して新しく作る

同じ処理のまま別の処理に変える方法
今のプログラムよりもっといい処理がないか考えます。

1.改善できそうな箇所をピックアップします
「もっと速度が出る方法がないか?」
「もっと可読性を上げる方法はないか?」
「関数化できるところはないか?」

など改善できそうな箇所をピックアップします。

2.改善する方法を考える
「関数を変えてみる」
「順番を変えてみる」
「いっそプログラミング言語を変えてみる」

などいろいろな方法が考えられます。
常識に捉われず思いついた方法をどんどん試してみましょう。

3.修正して動作確認する
修正したら動作確認をしましょう。

・思った通りも動いたか?
・上位互換と言えるか?
・元のプログラムよりどうよくなったか?

など、元のプログラムと比較してどうかチェックしましょう。
思った通りに動かなかったり、上位互換とは言えない場合は、どうすればよくなるか考え、さらに改善しましょう。

◆アレンジする時は上位互換にする
機能を拡張する場合は上位互換(元の機能や使い方を保持したまま新しい機能を加えること)が絶対条件です。
元のプログラムより処理速度が極端に落ちたり、機能が少なくなるのはNGです。
また、関数の引数を増やしたり減らしたりする場合は既存の処理に影響を与えることは極力避けましょう。

流用して新しく作る
特定の処理を流用して新しい関数や処理を作る方法です。
全く別の処理であるため必ずしも上位互換に拘る必要はありません。

例)
「天気情報をWebサイトから取得する処理」の「Webサイトから取得する処理」を流用して「災害情報をWebサイトから取得する処理」を作るなど

ただし、元々の関数でも実現できる可能性はあります。同じような関数をたくさん作らないように注意しましょう。

まとめ

プログラミングの仕事は0から作るよりも既存のプログラムを改善する機会の方が多いです。
プログラムをよりよいプログラムに変えるには他人のプログラムを読んで意図を汲み取る訓練をしておくことが大切です。

プログラムを自由にアレンジすることができるようになれば飛躍的にプログラミングスキルがアップしていくのでプログラムの作成に慣れてきたらプログラミングのアレンジに挑戦してみましょう。

関連記事>>プログラミングの独学勉強法〜初心者の為の独学方法を紹介〜

関連記事>>プログラミングのコツ〜作りたいプログラムを実現させる〜

note一覧

みやびのnote一覧

この記事が気に入ったら、サポートをしてみませんか?気軽にクリエイターを支援できます。

3
プログラミング系ブロガーです。 エンジニアやプログラミング系のノートをメインに書いています。 ブログ:https://se.miyabikno-jobs.com/
コメントを投稿するには、 ログイン または 会員登録 をする必要があります。