バグがすぐに見つかる!修正のコツ

こんにちは!

よーだです!

 

コードに何か不具合があると

パソコンはエラーを吐きますが、

いつもは修正点を示す

エラー文も一緒に吐かれますよね。

 

しかし、

無限ループや負の番地の参照など、

エラー文が付いてこないエラー

も存在します。

 

それを吐かれると、

コードのどこを見ていいか分からない!

となり、バグの修正に

とても時間がかかってしまいますよね。

f:id:programming_g:20210920210234j:image

 

しかし、今から話す修正のコツ

を知っていれば、

バグを探す時間を

一気に短縮することができます!

 

作業を効率化して

コードを仕上げるスピードを上げて、

周りとの差をつけていきましょう!

f:id:programming_g:20210920122531j:image

 

まず、コツの習得に

必要なテクニックを紹介します。

 

それがコメントアウトです。

 

コメントアウトとは

コードの一部を/*と*/で挟むことですが、

この挟まれた部分は

コードの実行の際に無視されます。

 

これを踏まえて、

修正のコツを見ていきましょう!

f:id:programming_g:20210920205515j:image

 

修正のコツ

まずは、コードの真ん中ぐらいの

文と文の切れ目を見つけて、

そこ以下をコメントアウト

した状態で実行してみて下さい。

 

そこからは、エラーが出たら

コメントアウトの範囲を広げ、

エラーが出なかったら

範囲を狭めるという操作を繰り返します。

 

すると最終的に、

「このfor文を実行するとエラーが出るが、

コメントアウトするとエラーが出ない」

というような境目に辿り着きます。

 

当然この境目にバグが存在している

はずなので、ここを重点的に

チェックしましょう!

f:id:programming_g:20210920121838j:image

 

これが修正のコツになります。

 

文章では少し伝わりづらいですが、

自分で実際に手を動かしてみると

分かりやすいと思います。

 

なので、修正点を探す時は

まずコードの一部をコメントアウトして、

そこからこの記事を見て

手順を進めてみてください。

 

これを習得すれば、

デバッグ能力が

大幅に向上するはずです!

 

ぜひお試し下さい!

実行するとフリーズする恐怖のバグとは?(修正編)

こんにちは!

よーだです!

 

以前、実行するとフリーズするバグ

対処の話をしましたが、

今回は実際にバグが起きた時の

原因修正法を紹介します!

 

原因と対処法を合わせて知っておくことで

バグが全く怖くなくなり、

プログラミングに対する自信が

格段にアップします!

f:id:programming_g:20210920105311j:image

 

それでは早速

見ていきましょう!

 

 

前回、フリーズは

コードをずっと実行している状態

であると分かりました。

 

ではずっとコードを実行している

原因は何かと言うと、

ほとんどの場合

無限ループと呼ばれるものになります。

f:id:programming_g:20210920110541j:image

 

無限ループとは、for文やwhile文などの

終了条件をいつまでも満たすことが出来ず、

コードの一番下まで辿り着けないために

実行が終了しないという状態です。

 

これこそが、

「実行するとフリーズするバグ」の

根本の原因です!

 

そして無限ループは、

変数の更新の書き忘れ

不等号の向きの間違いなどの

凡ミスによる事が多いです。

 

なので、もしフリーズのような状態に

陥ったら、まず無限ループを疑い、

while文やfor文を中心に

ミスが無いかを調べてみましょう!

f:id:programming_g:20210920111237j:image

 

まとめると、フリーズするバグに対しては、

  • まず実行を強制終了する
  • while文やfor文の凡ミスを探す

を行えばよいことになります。

 

もちろん他にも原因はありますが、

これで大抵のフリーズに

対応できます。

 

このルーティンを身につけ、

バグに対抗できるスキル

手に入れましょう!

 

実行するとフリーズする恐怖のバグとは?(対処編)

こんにちは!

よーだです!

 

あなたは、

コードを実行しても何も出力されず、

更にコマンドを打つウィンドウが

一切の入力を受け付けなくなってしまった

f:id:programming_g:20210919214359j:image

という経験はありませんか?

 

その場合はエラー文すら

出力されないため、

どう直していいかの見当も

つかないですよね。

 

しかし、このようなケースの原因は

実はかなり限られているため、

その種類と対処法を知るだけで

すぐに直せるようになります!

 

今まで直し方が分からず

放置していたコードも、

これを知るだけで動くように

なるかも知れませんよ!

f:id:programming_g:20210919214405j:image

 

そもそもウィンドウがフリーズする

現象についてですが、

これは実は

フリーズしている訳ではありません。

 

正しくは、

ずっとコードを実行している状態

になっています。

 

なので、元通りにするには

コードの実行を強制的にストップ

させればいいのです。

 

そこで使うのが、

強制終了コマンド

です!

f:id:programming_g:20210920110313p:image

 

難しそうに聞こえますが、方法は

Ctrlキーを押しながら、Cキーを押す

だけです!

 

そうするとコードの実行が止まり、

再び入力を受け付けるようになります。

 

今までこのバグが起きた時、

ウィンドウを閉じて再起動…

といった面倒な手順

とっていたと思います。

 

しかし、このコマンドを使うことで、

従来より大幅に短い時間

元通りの状態にできますよね。

 

作業を効率化することで

修正のスピードが上がり、

結果としてバグを取り除ける

確率が高くなります!

f:id:programming_g:20210920110934j:image

 

ぜひこのコマンドを

積極的に使ってみてください!

 

 

今回はこれまでですが、

原因と修正の仕方については

別の回で話そうと思います。

 

それではまた!

エラーが消えずイライラ!どうしたらいい?

こんにちは!

よーだです!

 

前に、エラーが出た時は

エラー文を使え!

ということを話したと思います。

 

しかし、それでも解消できない

厄介なエラー

たまにあります。

 

長い間同じエラーを吐かれると、

徐々にストレスが溜まり、

そのせいで能率が悪くなりさらに

ストレスが溜まる…

 

という負のスパイラル

陥ることになります。

f:id:programming_g:20210916103820j:image

 

今回はそんな時の対処法について

話していきます!

 

 

1.休憩する

 

まずはとにかくイライラを

消す必要があります。

 

苛立っている時は自分を

客観的に見ることができず、

思考停止と同じ状態になっています。

f:id:programming_g:20210916103830j:image

 

なので、まずはパソコンを離れて

コーヒーを飲むなどして、

頭をリセットしてから再び

エラーと向き合いましょう。

 

時間を空けるとあっさり

原因が分かった、ということも

案外ありますよ。

 

 

2.コード全体を見る

 

コード内の原因を探す時は、基本

エラー文で示されたエラーの箇所の

周辺を見ると思います。

 

しかし、()抜けなどの場合だと、

たまにすごく離れた箇所に

原因があることがあります。

 

「ここはさすがに大丈夫だろう」と

思うところでも、くまなく

コードをチェックしてみましょう!

f:id:programming_g:20210916103836j:image

 

3.人にガンガン聞く

 

これまでの方法を試しても

上手くいかない場合、

自分の知らない事柄が原因の

可能性があります。

 

これについてはいくら自分で

考えても原因にたどり着けるはずが

ないですよね。

 

そんな時は、先生にメールする、

友達に相談する、

知恵袋に投稿するなど、

周りの人に頼りましょう!

f:id:programming_g:20210916103843j:image

 

以上が厄介なエラーへの

主な対処法ですが、

とにかく大事なのは

イライラを消すことです。

 

気持ちが不安定だと思ったら

一旦休憩をすることを

まずは意識していきましょう!

プログラミングを上達するには?

こんにちは!

よーだです!

 

今回は、

プログラミングの腕を上げる

上達法に少し触れたいと思います。

 

学校の課題をこなすことも

もちろん練習にはなるのですが、

それだけでは足りません!

 

なぜなら、受け身でやった作業は

自身の興味が伴っていないことがあり、

十分に身につかない可能性があるからです。

f:id:programming_g:20210915113143j:image

 

せっかく頑張って覚えた知識も、

期末試験が終わると抜けてしまった。

となったら嫌ですよね。

 

今の内に自主的な練習をすることで、

周りに差をつけていきましょう!

f:id:programming_g:20210915113159j:image

 

プログラミングの上達の基本は、

とにかくコードを書く

です。

 

「え?それだけ?」

と思うかもしれませんが、

結局プログラミングもスポーツと同じで、

基礎の積み重ねで上達していきます。

 

とにかくコードを書いていくことで、

基礎的な事項の理解が深まり、

プログラミングに自信が

持てるようになります。

 

そしてその結果、新しい構文などが

出てきた時も臆することなく、

スムーズに自分のものに

することができます!

f:id:programming_g:20210915113210j:image

 

肝心の書く内容ですが、これは、

これまでの課題の解き直し、

身の周りの物の機能を再現する、

自分で考えた機能を実装する、

 

など、何でもいいですし、

難しい内容である必要はありません。

 

何から始めればいいか分からない

という方は、とりあえず

授業で出た課題や例題を

解き直してみましょう!

f:id:programming_g:20210915113219j:image

 

以上が上達法の基本です。

焦らず、やれることを少しずつ

やっていくことで、それがいつか

結果になっていきます。

 

ぜひ今回言ったことを意識して、

頑張ってみてください!

プログラミングにおける関数とは?

こんにちは!

よーだです!

 

あなたは関数と聞くと、

y=2x+1

みたいな、xとyを使った式を

思い浮かべませんか?

 

数学ではその認識でも大丈夫ですが、

プログラミングを学ぶ際には

ちょっと危険です!

f:id:programming_g:20210912110922p:image

 

なぜなら、プログラミングでの関数は

数学のよりも広い意味を

持っているからです。

 

この認識のままだと、

実際に関数を書いたり見たりする時に

疑問点が生じます。

 

そしてそれが積み重なることで

苦手意識となってしまい、

授業で関数の話題が出ると、途端に

話についていけなくなります!

f:id:programming_g:20210912110929j:image

 

今までの常識を捨てるつもりで、

プログラミングにおける関数のイメージを

掴んでいきましょう!

 

関数とは一般に、

入力を受け取り、

それに応じた処理を行う

という構造をしています。

 

先程の例では、

xという入力を受け取り、

計算結果であるyを返す

という仕組みになっていますね。

 

プログラミング初心者の方は、

今まで関数という言葉を数学でしか

使っていなかったと思います。

 

そのため、

最後の「処理を行う」の部分が

「計算結果を返す」という認識に

なってしまっています。

f:id:programming_g:20210912110935j:image

 

ここで大事なのは、

最後に行われる「処理」に

様々なバリエーションがある

ということです。

 

例えば、変数の中身を変える、

配列を生成する、プログラムを終了する

などがあります。

(もちろん「計算結果を返す」も含まれます)

 

今まであなたが見たり書いたりした

関数は全て、最後の「処理」の部分が

存在しているはずです。

 

この事を理解すると、

関数はどれも同じ構造をしている

ということが分かるため、

関数が一気に簡単に感じると思います!

f:id:programming_g:20210912110942j:image

 

そのためまずは、

関数は計算結果を返すだけという

思い込みを捨ててみましょう!

エラーが出た!どうすればいい?

こんにちは!

よーだです!

 

プログラミングをやってると、

誰もが絶対に避けられないもの

あります。

 

それはエラーです。

f:id:programming_g:20210908142212p:image

 

エラーとは、

「このプログラムは実行できないよ」

パソコンから言われることですが、

適切な処置をすることで解消できます。

 

しかし、実際にエラーが出た時、

どうしたらいいか分からない!

という方もいるかと思います。

 

そんな方は、今から紹介する

エラーへの王道の対処法

押さえ、実践していきましょう!

 

これを知るだけで

エラーへの恐怖心が無くなり、

プログラミングのモチベーションも

より高くなります!

f:id:programming_g:20210908142221j:image

 

結論から言うと、

エラーへの一番の対処法は

エラー文を使うこと

です!

 

なぜなら、エラー文は

「この箇所がこういった理由でダメだよ」

ということを細かく

示してくれているからです!

 

しかし、エラー文は

英語でびっしりと書かれるため、

とても読みにくいです。

f:id:programming_g:20210908142229j:image

 

でも大丈夫!そんな時は

エラー文を丸々コピーして、

Googleなどの検索窓に貼り付けて

検索してみましょう。

 

すると、

そのエラーを日本語で解説している

サイトが沢山ヒットするはずです!

 

サイトの中身と

自分のプログラムを照らし合わせ、

どこが間違っているかを

見つけましょう!

f:id:programming_g:20210908142240j:image

 

たったこれだけの事ですが、

この流れを押さえておくだけで

劇的にエラーに対応

できるようになります!

 

ぜひお試しあれ!