💬

趣味コーディングを始めるときに私が最初にすること

2022/12/14に公開

はじめに

趣味開発を始めるときに最近初手で行っているムーヴをまとめる。立ち上がりのムーヴの参考になれば幸いだ。

git 化

ディレクトリを作成した後git init して local repository を作成する。変更をミスった時に簡単に revert できないとつらいので初手で git 化する。

開発環境の container 化

VSCode remote container 機能を用いて開発環境を dev container 化する。
dev containerについては私が以前書いた記事VSCode のリモートコンテナ機能を用いて、あるリポジトリ専用の環境を開発者間で統一する を参照されたい。

GitHub を利用する

gh repo create で GitHub 上に remote repository を作成。

GitHub 上で repository の設定

  • main branch の保護をし、PR 形式と CI pass の強制などを行う。

最低限の初期テンプレート作成

実行とテストができる程度の一番最初のプログラムを用意する。

Makefile の整備

その repository で行える操作を一覧できるようにする目的で、操作は積極的に Makefile にまとめる

だいたい以下のような target を作成することが多い

  • build: プログラムをビルドする
  • run: プログラムを走らせる
  • lint: lint
  • test: テストを走らせる
  • integration: 統合テストを走らせる
  • check-all: 上のチェック系のターゲットを全て実行する
    ...

CI の整備(GitHub Actions)

GitHub Actions を用いてCI を定義する

大体以下のような設定を入れることが多い

  • PR 作成時と main 更新時に Makefile の check 系項目を実行する
  • それに加えて、 tag 切り時にリリースワークフローを走らせる
    • docker image を作成して container registry に上げるとか、 ライブラリ管理プラットフォーム (PyPI) とかに上げるとか

まとめ

割と私は序盤の立ち回りが固まってきた。だいたい開発を便利にするための仕組み作りだ。
これよりもっと簡便に済ます人も、もっと重量級の仕組みづくりをする人もいると思う。
コメントでみなさんの立ち回りを教えてくれると嬉しい。

GitHubで編集を提案

Discussion