ROBOT PAYMENT TECH-BLOG

株式会社ROBOT PAYMENTのテックブログです

専門性向上・コーディング規約篇

こんにちは、株式会社ROBOT PAYMENTの本体チームに所属するエンジニアの林です。 この前、コードレビュー会についてお話ししました。まだご覧になっていない方はぜひ見て頂けますと幸いです。 tech.robotpayment.co.jp

最近フィナンシャルクラウドシステム課の社員は各自興味があるかつ部署上利用できる知識や技術などを身に付けるため、業務時間の中から学ぶ時間を設けて行う、専門性向上プロジェクトが始まりました。

専門性向上ってなに

専門性向上は興味があることに対して学び、実践、失敗する機会を設け、各領域についてアクションやロードマップの精度を上げるための活動です。 学ぶことの候補はセキュリティ、CI/CD、CRE、ユニットテストとコーディング規約があります。 学ぶことは一人一つで担当しているし、分野においてのアクションやロードマップを改善できる効果もあるため、上記の領域を専門領域と弊社では呼称しています。 上記の専門領域の中から一つを選んで、毎週金曜日の午後に専門性向上に対応する時間を設けます。 その中から私は、コーディング規約を課題として選びました。

現在感じている課題

コーディング規約について今までの経験から感じた課題が三つあります。

  1. コーデイングが完備なREAD MEを作ろう READ MEとは、プロジェットの説明とかコーディング規約などを記載しているマークダウン形式のファイルです。 開発中ヘルプが必要な場合、まずはREAD MEを読めば、ほとんど解決できます。 システム上でよく使っているのはPHP、HTMLとJSです。それらのコーディング規約はREAD MEの所にまとめています。 PHP側のコーディング規約はほぼ完璧な状態ですが、HTML/JS/CSS側のコーディング規約はまだまだ足りないです。 HTML/JS/CSS側のコーディング規約は命名規則以外、スペースとかインテンドや改行などのことをREAD MEには整えていないです。 READ MEは皆さんが迷った時に読む物です。その中に記載したコーティング規約の不備があれば、インデントを忘れたり、スペースを開くことを統一できないことが発生するかもしれない。 なので、HTML/JS/CSS側のコーディング規約を整えることから着手するのは間違いない。 ネットで探したコーディング規約をそのままREAD MEにまとめるではなく、 皆さんに読みやすいためもっと簡潔な文書に整理するとか、分かりやすいため良い列と悪い列を作成するなどを対応しなければなりません。(これは日本語の勉強にもなりそうです)

  2. 今のコードをもっと綺麗にしたい 現在システム上にコーディング規約が整備される前に作成したコードが存在します。 そのため、コードの統一感がありませんし、読みにくいところもあります。これはロボシステムの新しく入られた方に対して優しくないと思います。 また、そのコードをコピーして使うと「割れ窓」になってしまいます。これはシステムの品質を高めることには良くないですね。 上記のことを考えて、より読みやすい、品質が高いソースコードにしたいので、現在のコードを全体的にフォーマッタにするのは必要だと思います。

  3. フォーマッタを自動化したい コーディング規約の存在を知っていますが、フォーマッタをすることを忘れてしまうことは私もたまにあります。 フォーマッタ機能を利用しないで、手動でコードを整形する方もいると思います。 もし自動でコーディング規約をチェックして違反している箇所を発見したら、作成者に通知することができれば、コーディング規約を守ることもできると思います。 今まだ方法を探す段階ですが、案が一つあります。 GitHubのactionsを利用してPull Requestを作成する時に、コーディングチェックが自動的に実行されます。 GitHubのactionsの利用は一度でもやったことがないので、これはチャレンジですね。でも、これは専門性向上の目的の一つです。

最後に

上記の対策案よりもっと良い案があるかもしれないですが、提案した対策案を実行すれば、コーディング問題をだいぶ改善できると思います。 コーディング問題を改善したら、ロボシステムの新しく入られた方でもコードが読みやすくなりますね。 最後まで読んでいただきありがとうございました。



We are hiring!!

ROBOT PAYMENTでは一緒に働く仲間を募集しています!!!

speakerdeck.com
www.robotpayment.co.jp
🎉twitter採用担当アカウント開設!🎉どんどん情報発信していきます!!