ルールを定めてサービスと長く向き合うコツを伝授!〜テックブログを公開しました〜

こんにちは、広報の坂井です。

本日3月28日、VASILYテックブログが公開されました!タイトルは『APIを長く運用するための仕組み化』、担当はバックエンドエンジニアの北條です!

tech.vasily.jp

f:id:vasilyjp:20170327182913j:plain

今回もどんなことが書いてあるのか、執筆者本人に解説してもらいました!


今回のブログ、どんな内容が書いてあるのでしょうか?

VASILYが運営するIQONは様々なコンテンツや膨大な情報が入っていますが、 ここまで規模の大きなサービスを開発していくには、共通のルールを決めてみんなで守っていくことが大切です。そして、単にルールを作るだけでなく、仕組み化していくことで開発者個人ごとのブレをなくしています。今回は、具体的なルールと仕組み化の方法を紹介しています。

 

具体的なルールとは?

サービスを運用していくために、VASILYでは以下のルールを設け仕組み化しています。

  1. APIのレスポンスを統一する
    • デコレーターを使ってレスポンスの定義を綺麗に書く
  2. パラメーターを統一する
    • Validatorによりパラメーターの明記を強制する
  3. コーディング規約を守る
    • LinterとSideCIを導入して修正とレビューの自動化
    • Linterのルールを適度に調節する

…難しいルールですね(笑)「1. APIのレスポンスを統一する」とはどういうことでしょうか?

すごくシンプルなんですよ!「レスポンスを統一する」とは、例えばアイテムについての情報が、どんな場合でも統一されたフォーマット(値段、タイトル、カテゴリーなど漏れがない状態)できちんと返ってくるようにすることです。

 

そのために行った仕組み化が、「デコレーターを使ってレスポンスの定義を綺麗に書く」ということですね?

はい!デコレーターという、コードを綺麗に書くテクニックを使い、統一されたフォーマットを別のファイルに切り出して見やすくすることで、開発のブレをなくしています。

例えば、社内の様々な情報を1つのExcelファイルにまとめているとします。これを社員全員で共有していると、だんだんどこに何が書いてあるか分からなくなってしまい、他の人が同じ内容を追加してしまったり、間違った読み方をしてしまったりしまうかもしれません。そうならないよう、「顧客リスト」「売上」など、細かく分けたシートを用意していますよね?こんな感じで、ファイルを切り出すことで、整理しています!

 

分かりやすい!次に、「2. パラメーターを統一する」とは?

「パラメーターを統一する」とは、システムに対する指示の仕方を統一するということです。

このルールを守るために、「Validatorによりパラメーターの明記を強制する」という仕組みを導入しています。

Validatorとは、システムへ指示を送った際に、事前にその指示が妥当なものかをチェックしてくれるもので、これを厳しくすることで、開発者へ強制的に指示の仕方を一覧リストへ明記させています。これにより、様々な指示が送られることを防ぎ、システムを使いやすくしています。

 

「3. コーディング規約を守る」とは?

「コーディング規約を守る」とはそのままの意味で、皆で規約を作り、それを守っています。しかし、ただ規約を定めたとしても、意識のみで守り続けることは難しいので、チームでコーディング規約を守るために行った仕組みを紹介しています。

具体的には、LinterとSideCIというシステムを導入し、コーディング規約のチェックを自動化しました。

Linterとは、コーディング規約に反している場合指摘をしてくれるツールです。SideCIとは、Linterが指摘したことについて、具体的にコメントとして残してくれるサービスです。この2つを使うことでコーディング規約のチェックを自動化し、人の手間を省いています。

また、「Linterのルールを適度に調節する」というのも行っています。Linterの初期設定はかなり厳しく設定してあるため、直す必要がない部分まで指摘されることがあります。これを調整することで、必要な指摘のみ受けてチームの士気を下げないようにしています!

 

なるほど、とても細かいルールを設けて運用していたんですね!

はい、ルールを決めるだけでなく仕組み化まで行うことで、長い間運用することができます。あまりややこしいルールばかり決めても、守っていくのは大変なので、シンプル且つ自動化しているところがポイントだと思います!


ありがとうございました!

VASILYでは各チームごとにルールをつくり、VASILYが大切にしている価値観である『HIPSTER』の“T”チームワークを発揮できるように工夫しています。

HIPSTERについてはこちらをご覧ください。

vasily.jp

あなたもVASILYの技術者と共に働いてみませんか?18年新卒募集を開始しました!

 

ご応募お待ちしております!

【お問い合わせ】
株式会社VASILY 広報担当
press@vasily.jp