タグ

ブックマーク / susisu.hatenablog.com (3)

  • Pull Request を作るのに一時間以上かかったら捨ててる - Object.create(null)

    一時間は大体の目安でちゃんと測ってない. PR の作成に時間がかかるときは, 何らか良くないことが起きている可能性が高い 試行錯誤を繰り返している 変更の規模が過大になっている 良くないことが起きているなら, そのまま続けて余計なコストをかけるよりも捨てた方が良い 試行錯誤を繰り返していたなら, そこまでは勉強か練習だと思って捨てる 変更の規模が過大になっていたなら, 分割して作り直すために捨てる 捨てることを躊躇わない 時間をかけるほど引き返しづらくなるので, 一時間くらいで打ち切る 一時間の手戻りなら一時間で取り返せる. なんなら知識が増えている分もっと短くて済む 思ったより進んでいなくても, そのまま思っていたところまで進めようとはせずに諦めて捨てる. とにかく良くないことが起きている可能性が高いので立ち止まるべきで, 思ったところまで進められる (良くない状態に陥らなくなる) 状態

    Pull Request を作るのに一時間以上かかったら捨ててる - Object.create(null)
    mactkg
    mactkg 2024/02/01
    これってコードを書いて(ブランチを切って)PR出すまでに1時間、って話なのかな。
  • プログラムの複雑さ・表面積・グラフの構造 - Object.create(null)

    特に何かしらの出典はありません. プログラムの複雑さに対する大局的で直感的な指標として, 表面積とグラフの構造というのを個人的に意識しているという話. いわゆる code smell をどう嗅ぎつけているか. 表面積 プログラムは最も単純には 1 つの入力チャンネル (引数) と 1 つの出力チャンネル (戻り値) でモデル化できます. 要するに関数ということですが, 関数型プログラミングに限らず大抵は似たような考え方ができます. graph LR yield[ ] -- 引数 --> program[プログラム] -- 戻り値 --> return[ ] 一方で現実世界で価値のあるプログラムとなるためには引数と戻り値だけでは不十分で, 実際にはその他の入出力チャンネルも必要になってきます. 例えば, 可変な変数の読み書き 環境変数の読み取り ユーザー入力の読み取り 画面への出力 ファイル

    プログラムの複雑さ・表面積・グラフの構造 - Object.create(null)
    mactkg
    mactkg 2022/05/06
    依存関係や結合を減らす、みたいなことは思ってたけど、表面積を減らすという例えは面白い。自分たちで制御可能な場所を増やす、構造を簡単にする、という感じにも見える。
  • コードや Pull Request をコミュニケーションの手段として使ってほしい - Object.create(null)

    レビューなり, 過去の経緯を調べる目的なりでコードや Pull Request (以下 PR) を読むとき, 書かれていてほしいと思う内容が書かれていないことが少なくない. 例えば, 背景や目的 全体的な実装方針 (特に複数の PR で一つの目的が達成される場合) これまでやったこと, 今やっていること, この次にやること 実装方法 他の方法との比較検討, あえてやらなかったこと, 今はやらないこと 気持ち 気になっていること, 迷ったこと, 自信がないこと, わかっていないこと ということで, こういうのを列挙してなぜ書いてほしいのかをまとめよう...かと思ったけど, 挙げるときりがないし, それぞれは表層的な問題でしかないのでやめた. では根底に何があるかというと, コードや PR がコミュニケーションとして成り立っているかどうかだと思う. 上に挙げたような個別の要求は, コードや P

    コードや Pull Request をコミュニケーションの手段として使ってほしい - Object.create(null)
    mactkg
    mactkg 2022/02/14
    声出してこー / コミュニケーションというといま・ここのことをイメージしすぎだけど、未来の自分・誰かもいるんですよね。
  • 1