GitHub Copilotのライフハック
本記事は SimpleForm Advent Calendar 2024 の 9 日目の記事です。
シンプルフォーム株式会社の中仙道と申します。
弊社では昨年からGitHub Copilotの導入をしております。
1年以上使ってきて、便利な使い方を発見しましたので共有させていただこうと思います。
個人的なGitHub Copilotの立ち位置
個人的には考えずに単純作業で終わる系の開発に関しては一旦GitHub Copilotに任せるような開発の仕方をしています。
今回はテーブル作成などを紹介しますが、そのほかにもEnumなど、やることが完全に決まっているものを実装する場合はGitHub Copilotはすごく有効です!
最近はコードを書く際、書き出しだけ書いて、tabの上に指を置いて待つ瞬間があったりして、ふと、「これって自分がコード書いているというよりも、AIのコードをレビューしていることになっていないか?」と思ったりするときもあります笑。
今回は汎用性の高そうなスキーマ定義についてのCopilotの使い方を紹介させていただきます!
スキーマ定義の作成
テーブルのスキーマ定義は決まったものをコードに起こすので若干面倒だったりしますよね?
そんな時はGitHub Copilotに任せちゃいましょう!
例えば、開発時のテーブル作成タスクの中にこのようなテーブルの要件があるとします。
そんな時はこれをコード上にコピペしちゃってコメントアウトしましょう!
例えばRailsのマイグレーションファイルだったらこんな感じ
class CreateFruits < ActiveRecord::Migration[8.0]
def change
# テーブル名:fruits
# カラム名 和名 型 制約 備考
# id ID varchar(26) pk, not null
# name 名前 varchar(150)
# price 値段 int
# sugar_content 糖度 int
# color 色 varchar(20)
# created_at - datetime not null CURRENT_TIMESTAMP
# updated_at - datetime not null CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
end
end
すると自動で補完してくれますのでtabを押すだけ
class CreateFruits < ActiveRecord::Migration[8.0]
def change
# テーブル名:fruits
# カラム名 和名 型 制約 備考
# id ID varchar(26) pk, not null
# name 名前 varchar(150)
# price 値段 int
# sugar_content 糖度 int
# color 色 varchar(20)
# created_at - datetime not null CURRENT_TIMESTAMP
# updated_at - datetime not null CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
create_table :fruits, id: :string, limit: 26 do |t|
t.string :name, limit: 150
t.integer :price
t.integer :sugar_content
t.string :color, limit: 20
t.timestamps
end
end
end
あとは目で見て直したいところを直すだけ。
おわりに
いかがでしょうか?だいぶ時短になるのではないでしょうか?
テーブル定義以外でも開発の要件をコピペしてコメントアウトするだけでよしなにやってくれる場合がありますのでまずは色々試してみてはいかがでしょうか?少なくともテーブル作成にはすごく有効です!
GitHub CopilotなどコーディングアシストのAIを使われている方は色々なハックをしていると思いますが、もしこのような使い方をしていなかった方がいらっしゃれば、参考にしていただけると嬉しいです!
また明日以降も SimpleForm Advent Calendar 2024続きますのでよろしくお願いします!
リアルタイム法人調査システム「SimpleCheck」を開発・運営するシンプルフォーム株式会社の開発チームのメンバーが、日々の開発で得た知見や試してみた技術などについて発信していきます。 Publication 運用への移行前の記事は zenn.dev/simpleform からご覧ください。
Discussion