0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

エンジニア特化部門の管理職が考えるプログラミング教育 段階的に実装・検証を繰り返す

Posted at

前の投稿で、下記を実装するという例を出しました。ある程度、ブレークダウンしているので、全部実装できるエンジニアの方も多々いるでしょう。

1.テキストファイルの読込
2.入力データを取り出す
3.素数かどうかを判定する
4.出力する

一方で、全部実装しようとして、はまって完成に至らないエンジニアもいると思います。そこで、次の考え方です。

考え方3

  • 段階的に実装・検証を繰り返す

実現したいことを『入力』『処理』『出力』に分類する。先の例を分類すると、下記のようになると考えます。

『入力』1.テキストファイルの読込
『入力』2.入力データを取り出す
『処理』3.素数かどうかを判定する
『出力』4.出力する

多くの場合、一番時間を要し、実現困難なものは『処理』の部分だと考えています。
そのため、『入力』『出力』の部分を実装する、『処理』部分は未実装でも、スタブでも良いです。
その上で、比較的実装難易度の低い『入力』『出力』が想定通り動いているかをまず検証し、保証することを推奨しています。
『入力』『出力』を先に実装するメリットは、実行結果が目に見やすい事もあります。

もっと複雑なロジックを実装するなら、『入力2』『処理2』『出力2』と分解してして、上記を繰り返し、動作を保証する部分を広げていくこと、実装していない部分を局所化していくことが良いと考えています。

そして、『処理』部分を実装、検証にうつります。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?