見出し画像

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

本記事は、プログラムの処理を考えて実装する為のコツを説明するものです。

「〇〇という機能を実現したい」と考えた時に初心者の場合は何から始めていいかわからない場合も多いと思います。

プログラムは全体を見ると複雑ですが、たくさんの単純な処理の組み合わせです。
どんな処理が必要か羅列していくことで誰でもプログラミングを書けるようになります。

プログラムを実現する為の処理を考えよう

プログラムを書いていく為には、そのプログラムを実現する為に必要な処理を考えます。
複雑なプログラムであっても一つ一つの処理は決して難しいものではありません。


プログラム
必要な処理1
必要な処理2
必要な処理3


必要な処理1を実現する為にコードはどう記述する?
必要な処理2を実現する為にコードはどう記述する?



のようにそれぞれの処理を実現する為にどんなコードを書けばいいか調査していきます。
調査方法は参考書でもインターネットでも人に聞くでも構いません。どんな方法でもいいので答えを見つけ出しましょう。

<h3>処理が思いつかない場合は?</h3>
「どんな処理を実装すればいいか全く検討もつかない」という場合もあると思います。
検討がつかない場合も調べるしかありません。

参考書・インターネット・人をフル活用してどんな処理が必要か洗い出すようにしましょう。

「Pythonで今日の天気を表示する」プログラムを書く場合の例

Pythonで天気を表示する方法であれば、「Python+天気」で検索すればどんぴしゃりな方法が出てきます。
→解決!

これだと流石につまらないのでもう少し詳細の処理を見ていきましょう。

Pythonで天気を表示する為に必要なこと
天気の取得に必要な処理を考えます。
以下の二つの処理が考えられます。
・天気の情報を取得する
・画面に天気を表示する

大きさはプログラムの規模にもよりますが、自分が理解できる範囲に細分化できれば良いでしょう。

さらにそれぞれの処理について「具体的にどんな処理を実装するか?」も考えてみましょう。
「どこ」、「どのくらい」、「何を」など5W1Hを活用して考えると良いです。

・天気の情報を取得する
どこから取得する?
→Webサイトからダウンロード or データファイルから入力

・画面に天気を表示する
具体的にどんな情報を表示する?
→今日の天気。晴れ、雨などの簡単な天気を表示

今回はWebサイトからデータをダウンロードして天気を表示する方法を考えます。
処理は以下の通りです。

・Webサイトから天気情報ファイルをダウンロードする
・ダウンロードしたデータから今日の天気を抽出する
・抽出した天気を画面に表示する

方法を調査する
上記3つの処理を実現する為のプログラムの記述方法を調査していきます。
また、天気情報を取得できるWebサイトも調べておきましょう。

◆ネットで調べる
調べるキーワードを考える必要があります。
「Webサイトから天気情報ファイルをダウンロードする」をそのまま貼り付けて検索しても望んだ記事はなかなか出てきません。
「天気情報 ダウンロード」、「天気情報 JSON」などキーワードを抽出して検索しましょう。

◆参考書で調べる
載っている参考書を探すことから始める必要があります。
目次や索引から実現する方法が載っている本を探します。

買った後に欲しい情報と微妙に違ったという可能性があるのが参考書の欠点です。

◆人に聞く
人に聞く最大のメリットは自分の納得のできる答えを引き出すまで質問することができることです。
ただし、曖昧な質問をすると曖昧な答えしか返ってきません。

意図を汲み取ってもらえるように実現したいことを明確にしておきましょう。


実装方法
調べた方法を元にそれぞれの処理を実装していきます。
小さなプログラムであれば一気に実装することも考えられますが、大きなプログラムの場合は一つ一つの処理を個別に実装する方法もあります。

今回は小さなプログラムなので一気に実装します。

import json
import requests
'''
Webサイトから天気情報ファイルをダウンロードする
'''
# ダウンロードURLを取得する
url = "http://weather.livedoor.com/forecast/webservice/json/v1?city=130010"
# URLを取得
response = requests.get(url)
# URL取得結果のチェック
response.raise_for_status()
'''
ダウンロードしたデータから今日の天気を抽出する
'''
# 天気データを読み込む
weather_data = json.loads(response.text)
# 天気を取り出す
weather = weather_data['forecasts'][0]['telop']
'''
抽出した天気を画面に表示する
'''
print('今日の天気は%sです' % weather)

◆実行例
今日の天気は曇時々晴です

動作確認と調整
実際に動かしてみるとエラーが発生したり、思った通りに動かなかったりすることがあります。
・エラーの原因は何か?
・足りない処理は何か?
・逆にいらない処理は何か?

など一つ一つの処理をチェックして調整していきましょう。

◆エラーが出ている場合
エラーが出ている場合は、作業は単純です。(簡単ではありません)
エラーメッセージを原因をネットや参考書で解決策を調べてソースコードを修正します。

エラーメッセージがアバウトな場合や解決困難なエラー・複数のエラーが出ているなどの事態もあり、解決には根気がいります。

◆思った通りに動かない場合
ログ出力関数やprint文などを活用して処理単位または1stepずつ変数の値を見ていき、期待通りに動いているかチェックします。
原因の特定が難しく、解決の為の修正も試行錯誤するしかありません。エラー以上に根気がいります。

終わりに

複雑に見えるプログラムも単純な処理の集合であり、一つ一つの処理は難しいものではありません。

一つ一つの処理にフォーカスして調査をし、実装して行けば実現することができます。
最初はうまくいかないことも多く、根気がいりますが、諦めずに書き続ければ、いつかは思ったプログラムが実現できるようになります。

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

関連記事>>プログラミングの勉強の前に環境構築をしよう

note一覧

みやびのnote一覧

この記事が気に入ったらサポートをしてみませんか?