LoginSignup
4
2

More than 5 years have passed since last update.

フルスクラッチでのプログラムの書き方(ryo_gridの場合)

Last updated at Posted at 2016-07-17

ソースコードって実際のところどういうふうに書いていますか?
https://note.mu/ruiu/n/n1083b2a5d547

に触発されて、自分の書き方を記してみる。適当に書き殴るのでご容赦を。
上記記事では、既存コードをいじる場合だけど、この記事ではフルスクラッチで書く場合について。理由はそっちの方が記事として面白そうだから。

まず、プログラムの規模と構成を考える。

大した規模でなければ、あまり何も考えずに、コアな部分から書いていく。ちょっとしたスクリプトとか。そこから派生して必要な関数があれば順次書いていく。

続いて、それなりの規模かつコアな部分だけ、切り分けて開発可能な場合。この場合は、書いたことの無い処理が動くか、スニペット的な物を書いて、こう書けば動くというのを一通りためす。そして、それらを結合して、コアな部分を実装する。そこまでいけばあとは、それ以外のつまらない部分のコードを少しづつ肉付けするようにして書いていく。上記記事のように常に動くようにするというほど極端ではないけど、なるべく少し書いては動作テストができるように書いていく。で、そのうち、だんだん大きくなって完成。なお、ユニットテストは趣味プログラミングでは僕はあまり書かかないので、それを念頭にお読みください。

最後に、全部書かないと全然動かせないようなプログラムの場合。この場合は、スニペット的なものでほげほげというのは上と同様で、そのあとは、ひとまず、トップダウン(main関数からスタート)で、入出力と関数名だけ決まっている空の関数をどんどん書いていく(他の空の関数の呼び出しはもちろん書いてある)。この時、関数の中に「not implemented」みたいなコメントを書いておくと、そのコメントをディレクトリ内を網羅的にgrepするようなスクリプトでTODOリストが出せるから、それを一つづつ潰していけばプログラムが完成するので精神衛生上良い。おすすめ。まあ、そこまでやらなくても、とりあえず、空の関数を書いたあとで、一つ一つ書いていくと、プログラムが完成する。パチパチパチ。

あー、あとはあまり褒められたやり方ではないけど、本のサンプルコードとか、ネットで拾ってきたプログラムを改修していく形でつくるパターンは多い気がする(フルスクラッチじゃねー)。

まあ、多分、みんなこんな感じの書き方なのかなあと勝手に思ってるけど、そうでもないですかね?
もっとうまいやり方があるよ!という方がいたら教えて下さい!
あと、この手の記事で必読のやつがあれば教えて下さい!
他力本願寺!

4
2
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
4
2