![eyecatch](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-aiVeRI6cZI4PMFEx0rD6e9pqgOgUckLO5UJm87SCcSod6BjvQMOtXax7hkbnPxDSYPi8-4vTENbwQcG0q968wTBhHT-KmWJS3_KS0fA-zG9xcRJI5VJhA8S_0w-ATIYGOzlFmRIXizpy2dn_t0D3b3XISij0npb6cfHJtvzKeG_kblQEMjqzKYyS/s1600-rw/1647212453_0.jpg)
プログラミングでエラーになった時に、ゲームスタート!と感じるユゲタです。
プログラミング初心者の天敵は「プログラミングエラー」なのだそうですが、その理由は、エラーをどうやって解消すればいいか分からないからだそうですね。
ニッチもサッチも行かなくなった時にはさすがにメンタルを傷つけられてしまうかもしれませんが、エラーを解消する面白さに気がつかないとプログラミングってしんどいだけの作業になりかねませんね。
解消しないプログラミングエラーは無い
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjo6cHf-ulmmzIJ3qTUq2LAxodI3lnMVUXJkM1pneFzw-JdlvW1tBzlD0GO1mdajpNDy0bb8YAkOKGBAMQGfEaL24XOr_HY4aAPecyxcxxnursOPRsd009ht1ufnxZRQ0TIS1cIjhZSjKbYyAY3_ZEzFm_IZDSYaClxgO7xysKv6ASy_Jn5O183AvCP/s1600-rw/0322_1.png)
プログラミングエラーって、「直る」という言い方をするのは、昔から違和感があって、この直るという言葉は、正常な状態から外れた時に修正をするような意味であって、
プログラミングエラーは、そもそものコードの書き方がまちがっているので、直すというよりは、解消するという方が正しいと個人的に考えています。
なので、仕事などでバグを見つけた時に、「直して」と言われると、「別に壊してないんですが!」と心の中で考えてしまいます。
確かにsyntaxエラーのような、単純エラーの場合は直すでもいいのかもしれませんが、「この処理少し違和感があるので直す」という時に、そもそもの仕様が違っている事が多いため、まず仕様を直すところから進めないといけませんね。
そして、プログラミングエラーで厄介なのは、この仕様によるエラーの場合なんですね。
仕様が理論的におかしい場合、プログラミングの不具合ではなく、ちゃんと仕組み構築ができないためのエラーになっているので、いわゆる穴の空いたバケツで一生懸命水を汲んでいるような状態と考えた方がいいでしょう。
根本的な仕様である、バケツは、プログラミングでいくら動きを制御しても水は漏れ続けてしまいます。
壊れたバケツを使うという仕様に気がつかない限り、システムエラーは解消しないのですが、所詮は人が考えたモノであれば、いい感じに修正する事は必ず可能なんですね。
自分で作っているプログラムであれば、仕様も自分で構築しているはずなので、悩んでいる箇所を少し視野を広くしてみてみると、意外と簡単に修正できることも多いですよね。
難解なプログラミングエラーは詰将棋みたいなモノ
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOTOQJ1p5fwGRG9OqK1w9Hg4ISAYcK4mqI7F-2RnRb7uy8dq_aYNgEakgD3x99_SvIr3mRVCUF-kXhREWa3L6kIA2clNUM4F3BXl2EUTxAnHzpBc3iHFonQvmuJ979Fs9Deju9UEcP_IltxMdowPlpEfkSH4M1z0FECut2Ek48WyIWrjndej58aqAn/s1600-rw/0322_2.jpeg)
詰将棋といえば、将棋の遊び方を知っている人であれば、誰でもご存じだと思いますが、何手詰めかによって、レベルが上がっていきますが、非常に少ない手数でもめちゃくちゃ難しいこともあります。
個人的には、新聞に載っている詰将棋って、その日1日頭の中で考えている事が好きなんですが、プログラミングのエラー解消と似ているな〜と前から思っていました。
そもそも将棋を知らないと言う人には、あまり意味がわからないかもしれませんが、詰将棋をめんどくさいと感じてしまう人は、プログラミングのエラーも誰か人が解消してほしいと考えてしまいがちなんではないでしょうか?
自分で作っているプログラムは、自分ごととして、自分で仕様を構築して、エラーを解消する責任を感じていると、少なくてもエラーを無くす事が自分の宿命と考えるぐらいがちょうどいいでしょう。
プログラミングエラー占い
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipINdLtJGgLxO7JGxAjTDD-VoB_vbFrBQ6_cFHKKTjftPefEzqLMvwiaCuUpEu7lR38AQClv-7vBq9yekBDRwZHsNoAI6cf63Riu9Ww_fOCWF2cJdm-BRmRdKzM8cKcLlkBIjwH8P0VJBX5kC7lmNumd0bYo1qV7oaLdJyBWz6Td8aOPuPjp42iyMv/s1600-rw/0322_3.jpeg)
趣味でもプログラミングをやっていると、自分の作ったプログラムで発生するエラーに、特徴を感じてしまいます。
単純な入力ミスのSyntaxエラーも、いつも同じような打ち間違いをやってしまいがちですし、
javascriptで、同じスコープの中で、同じ定数名でconst処理を書いてしまっていたり、
phpの行末の;(セミコロン)が抜けていたり、
とにかく同じようなエラーが繰り返されると、見つけるのも早くなります。
エラーってその人の性格を表しているような感じがしていて、プログラミングエラーでその人がどんな感じなのかがわかってしまうのかもしれませんね。
単純ミス系、計算ロジック漏れ系、インデント無視系、変数名適当系、コメント不足系、関数処理ロング系、
なんかそういう診断してもらえるシステムがあったら、ぜひ占ってもらいたいですよね。
0 件のコメント:
コメントを投稿