ブログBLOG

プログラミングに、必要なことは?

プログラミングに、必要なことは?

もちろんコーディングする為に、まずはプログラミング言語を習得しなければならないが、ここでは、開発言語習得以外で必要なことを記述する。

σ(゚∀゚ )オレ的には、プログラミングで必要なことは、
中学時代に教わる数学の「証明」が必要なんジャマイカ(; ・`ω・´)!?
と思う。

「証明」と言うと図形の性質を利用した証明をイメージされる方も多いかもしれないが
ここで言う「証明」は、
A=B、B=C なら、A=Cである
みたいなやつです。

証明というと難しくいい過ぎかもですが、プログラミングにおいては、仕様を理解してロジックに落とし込んでいく過程で、論点の整理に同様のプロセスが行われているかと思う。
このロジックに落とし込む段階で、プログラムの規模にもよるが色々な検討が大なり小なりされている。


・動作条件は?
⇒ボタンクリック時、日時指定、トリガー等
・対象となるデータは?
⇒どこから取得・参照、対象となるは全部 or 一部分(抽出条件)
・処理順序は?
⇒通常処理、例外処理、対象外データの扱い
・処理終了条件は?
⇒ループ回数、ループ終了条件
・仕様、ロジックに矛盾がないか?
⇒反例

単純に、条件分岐は条件となる部分がif文となり、合致する条件以外がelse句側の処理となる。
リレーショナルDBからデータ取得の場合は、SQL文のWhere句が条件となり、処理対象となるものだけを抽出する。
反例が、業務エラーか、また(致命的な)システムエラーに相当する。
処理続行可能なエラーならば、業務エラーとなり、前提条件が崩れるエラーならばシステムエラーとなる。

このように、ある程度決まったパターンでロジックに落とし込めるが、困ったことに、自分が読みやすいプログラミングでも、他人から見てプログラミングコードが読みやすい・理解しやすいとは限らない。
※読みやすい・理解しやすいプログラミングコードに関してはまた別途

自分で設計し、コーディングしたプログラムなら、たとえ不具合が出たとしても、発生箇所さえ判明すれば、少なくとも暫定対応のプログラム修正は容易でしょう。

恒久対応となると、より原因を理解し、どのように対応するべきなのか
本来どの部分で対応しておく必要があるのか、データフローまで把握しておく必要があると思います。

よって、数学の「証明」は、プログラミングをする上で、
仕様を論理的に整理する上で必要なんジャマイカ(; ・`ω・´)!!
と思ってます。

CONTACTお問い合わせ

システム開発やWEBサイト制作についてのご相談、お見積のご依頼などは、下記の窓口にて承ります。
まずはお気軽にお問い合わせください。お問い合わせはEメール・お電話にて承ります。