🤩

コードを書き続けるためにやってること

2020/11/17に公開

この記事は 6 年前に書いた記事を更新したものです

プログラミングの生産性を上げるには - Cside::Private

とても面白かったのでマネしてみた。人それぞれあると思うので自分のスタイルを。
といっても、かなり不真面目なので参考にはならないと思う。

1. README.rst を書く

  • まず最初に何がしたいのか、どんなことをしたいのかを書く
  • 概要、ゴール、実装方法、使用ライブラリ、TODO などを書いていく
  • そして README.rst に擬似コードを書き始める
    • コンパイルが通る必要は無い
    • コメントもガンガン書いていく
  • とにかく issues とか使わず全て README.rst に書いていく
    • 一通り出来てきたら GitHub Issues にタスクを移す

2. 擬似コードでプロトを書く

  • コードを書いてみないと分からない事が多いのでまずはコードを書く
  • 自分が一番かける Erlang に似た言語で書く
  • 小さいパーツを色々作ってみる、それを組み合わせていく
  • とにかく動く物を作ってから考える
  • 擬似コードじゃなくて実際にコード書いても良い
    • とにかく色々コードを書いてみる
    • 妄想プログラミングと勝手に名前を付けている
  • 積極的にコードを捨てる
  • 紙プログラミング
    • 紙で手書きでプログラム書いたりしてキーボードから離れて考える

3. 仕様を一通り暗記する

  • 仕様書をにらめっこしながらコードを書くのが嫌いなので一通り覚える
  • ある RFC を実装するなら一通り仕様を暗記して淡々と書く
  • 仕様の間違いは実装後に再度仕様を読み直してテストを書いたりして発見していく
  • 一通り実装してから再度読むと行間が読めるようになる

4. コードファースト

  • テストはよほど仕様が決まっていないかぎり後回し
  • パーサー系に関しては、最初にテスト書いてしまった方が楽なのでテスト書く
  • サーバ系はテストクライアント開発が重いので、結構後回し

5. 集中とだらだらを使い分けてコードを書く

  • だらだら書く場合はリファクタリングやテストを書くとき
    • つまらないしつらいので、いやいや書く事にしてる
  • 機能実装は集中して書くようにしている
  • 集中するとひたすら集中するタイプなので、その間に作れる物は作ってしまう

6. コードを読む

  • コードを書いた量、コードを読んだ量が重要だと思っているので、人のコードをとにかく読む
  • ライブラリはドキュメントよりコードを読む
  • 読んで良さそうなコードはすぐマネをする
  • 色々なコードを読んでどのライブラリのコードは読みやすいとかを覚えておく
    • 後々参考にしやすいコードを溜め込む
  • 積極的にコードレビューをする

7. タスクを整理する

  • ある程度コードを書き上げると、あれもこれもとやりがちなのでまず何をやる必要があるのか整理する
  • とにかく面倒くさいコードは後回しにする、楽しそうで必要なのからやっていく
  • 拡張系のタスクは全て TODO にしてはき出して満足する
  • まずは実装したいタスクをガンガン書き出していく

8. 誰かに作ろうとしているものの説明をする

  • 一方通行でもいいので話をしてみる
  • 図を書いたりして可能な限り丁寧に説明する

9. プロダクトコードを書く前にプロトタイプを実装してみる

  • プロダクトコードを書くときはプロトタイプを捨てて 1 から書く

とりあえず勢いで書いてみました。

皆が書くと色々楽しそう。

書いてくれた人がいた

Discussion