2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

神関数を生まないためのサンプルコードのススメ

Posted at

神関数を生まないためのサンプルコードのススメ

main関数が数キロ行、数十キロ行

マジカ!

といったソースを目にしたことがある。

神関数

そう呼ばれる代物だ
神様ではなく一般ピープルには精々1キロくらいまでしか読み取ることはできないのではないだろうか。

神関数を作られる原因としては、あれが足りない、コレが足りないと1関数に継ぎ接ぎしていくうちに、やがて神関数へと成長する

では、神関数を作らないためにはどうしたらいいかといったら

サンプルコード

数十行で完成するサンプルを作って、動くかどうかを確認するのだ。
動くことが確認できたら、サンプルコードのメインとなる関数を呼び出すようにして、次のサンプルコード開発へ。
この流れを繰り返す。

継ぎ接ぎしていること自体は、神関数と変わらないのだが、
-1つ1つの動作が確認できる
-どこで間違えが発生したかわかる
-分担出来る
-引き返せる
-どこまで作ったか進捗がわかる

色々とメリットがある

神関数はテスト前の一夜漬け
サンプルコードは日々勉強してテストに臨む

ケースバイケースだが、極力であれば サンプルコード開発することが理想ではあるが、ほとんどの人たちが一般ピープルなのである。

テスト前の一夜漬けによって今日も新しい神が生まれていく。

サンプルコード開発のポイント

大抵完成に至らないプロジェクトに当てはまることはこのポイントを押さえていないからではないだろうか

  • 完成のイメージをもつ
  • 完成の条件は少なくする
  • やったことがないことは、やったことのあることを組み合わせて実現する

サンプルコードは完成を前提に作る。
完成しなかったらそれはサンプルコードではないのだ。
つまりは確実に完成するか、完成する成功率が高くなるように目標を設定して取り掛かることがポイントといえる。

誰もやっていないことが新しいことではなく、やったことがあることをたくさん持っている人が新しいことができる

このことを思い違いしてはいけない。

サンプルコード開発で対策した方がよいこと

沢山サンプルコードを作っていて、何度も同じことをすることがあったり、何を作ったか思い出せなくなってきてしまった。
それを踏まえて以下のことは対策しておいた方が良さそうだ。

  • 引数・設定値の保存(理由:同じ値を何度も設定するから)
  • コピペして使うような何度も使うソースコードはライブラリ化(理由:サンプルコードは同じことを繰り返す癖みたいなこのが出来る)
  • 作ったサンプルコードの見える化・リスト化(理由:最近何を作ったのか思い出せない)

日々、サンプルコード開発

大体のプログラムにまつわる仕事はコレの繰り返し

  • 仮定する
  • 検索する
  • サンプルコードを開発する
  • 組み込む

この繰り返し回数を如何に上げるかが、いいプロダクトを作れるかが決まってくるのではないだろうか

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?