開発覚書はてな版

個人的な開発関連の備忘録

【TypeScript】生産性・保守性を上げる記事一覧

目次

概要

  • TypeScriptで生産性・保守性を上げる記事一覧を記載。
  • このサイトの過去記事より抜粋。
  • このあたりが一通り実装されているプロジェクトは自分が過去に関わった or 自分の関わったプロジェクトから流用された可能性があります。

パスエイリアス

kakkoyakakko2.hatenablog.com

  • ローカル環境のパスにエイリアスを指定出来る方法を記載しています。
  • 相対パスではなく、NPMパッケージ風にimportできるので便利です。

index.ts(バレル)

kakkoyakakko2.hatenablog.com

定数クラス

kakkoyakakko2.hatenablog.com

  • static class が TypeScript で定義できないので、 namespace を利用して実現しています。
  • 同様に namespcaeexport function を集めるとユーティリティクラスのようなものも作成できます。
  • 通常のclass の場合はインスタンス生成が出来てしまうので、インスタンス生成させたくないときに便利です。

拡張メソッド

kakkoyakakko2.hatenablog.com

kakkoyakakko2.hatenablog.com

  • C#/Javaなどによくある拡張メソッドのTypeScript版です。
  • 特定のクラスに対して、メソッドを追加したい場合に使用します。
  • ユーティリティクラスと同様に適切な単位で配置すると、生産性・保守性が高くなります。
  • C#LINQのように拡張できると関数型チックな実装が出来ます。チームメンバーなどのスキルセットによってはお試しください。

自動フォーマット(要VSCode

kakkoyakakko2.hatenablog.com

  • Prettier + TSLint + VSCodeの記事です。
  • Prettier + TSLint だけでも tslint --fix を実行することで自動フォーマットが可能です。
  • TSLintのルールにそってフォーマットしてくれるので便利です。
  • 共通設定などで提供しておけば、チーム内のコーディングがある程度品質がそろうので便利です。