#コーディングのガイドライン

0 フォロワー · 4 投稿

コードを記述するための推奨事項とベストプラクティス

記事 Toshihiko Minamoto · 12月 12, 2022 16m read

こんにちは! 今日は、Angular で最も重要なアーキテクチャパターンの 1 つについてお話しします。

パターン自体は直接 Angular に関連していませんが、Angular はコンポーネント駆動のフレームワークであるため、このパターンは最新の Angular アプリケーションを構築するために最も不可欠なものの 1 つです。

「コンテナ・プレゼンテーション」パターン

コンポーネントは、小さい、目的集中型、独立型、テスト可能性、そして一番重要と言える再利用可能性という特性が備わっているのが最適だと考えられています。

コンポーネントに、サーバー呼び出しを行う、ビジネスロジックが含まれている、他のコンポーネントと密に連携している、他のコンポーネントまたはサービスの内部を過度に知っている、という特徴が備わっていれば、より大きく、テスト、拡張、再利用、変更が行いにくいものになってしまします。 「コンテナ・プレゼンテーション」パターンは、これらの問題を解決するために存在します。

一般的にすべてのコンポーネントは、コンテナコンポーネント(スマート)とプレゼンテーションコンポーネント(ダム)の 2 つのグループに分けられます。

0
0 688
記事 Toshihiko Minamoto · 11月 29, 2022 11m read

中・上級トピックに進む前に、より一般的なポイントについてまとめておきたいと思います。 これはもちろん主観的な内容であるため、他の意見やさらに良い根拠をお持ちであれば、それについて喜んでお聞きします。

このリストは包括的ではありません。一部のトピックは今後の記事で対応するつもりなので、意図的にそうしています。

ヒント 1. 公式スタイルガイドに従う

Angular は、アプリケーションに使用可能なアーキテクチャを制限するという点で非常に厳格ですが、それでも独自の方法で行えることはたくさんあります。 開発者の想像力は無限ではありますが、そのために、あなたと、またはあなたを引き継いでプロジェクトに携わる人の作業が困難になってしまうことがあります。

Angular チームは、Angular アーキテクチャ自体とそのライブラリをうまく管理しているため、安定した対応可能なコードベースを作成する方法をよく理解しています。

したがって、公式スタイルガイドに従い、そのとおりに動作しない場合にのみ他の方法を取るようにすることをお勧めします。 こうすることで、新しいプロジェクトに参加する際や、他の人がプロジェクトに参加する際に、事がより簡単に進められるようになります。

0
0 128
記事 Hiroshi Sato · 10月 18, 2021 1m read

これはInterSystems FAQ サイトの記事です。
命名規約については、それぞれ下記のドキュメントページをご確認ください。

テーブル名(クラス名)について


識別子のルールとガイドライン - クラス

カラム名(プロパティ名)について


識別子のルールとガイドライン - クラス・メンバ


こちらに記載しておりますように、カラム名(プロパティ名)には英数文字およびASCII 128 よりUnicodeコードポイントの大きな文字のみ使用可能です。

  • 名前は、英字、ASCII 128 よりUnicodeコードポイントの大きな文字かパーセント記号 (%) で始まる必要があります。
  • 残りの文字は、英字、ASCII 128 よりUnicodeコードポイントの大きな文字または数字にする必要があります。

また、「リリース2012.2以降〜」の部分にありますように、

Property "My Property" As %String;

のように " で囲むことで、使用できない記号等も使用できるようになります。

これとは別に、プロパティ名は英数字のみを使用して、SQLフィールド名のみ、別途指定することもできます。

Property iscname As %String [ SqlFieldName = isc_name ];
0
0 796
記事 Toshihiko Minamoto · 11月 10, 2020 8m read

最近行われたディスカッションの中で、Caché ObjectScript における for/while loop のパフォーマンンスが話に出ましたので、意見やベストプラクティスをコミュニティの皆さんと共有したいと思います。 これ自体が基本的なトピックではありますが、他の点では合理的と言える方法のパフォーマンスが意味する内容を見逃してしまうことがよくあります。 つまり、$ListNext を使って$ListBuild リストをイテレートするループ、または $Order を使ってローカル配列をイテレートするループが最も高速な選択肢ということです。

興味深い例として、コンマ区切りの文字列をループするコードについて考えます。

そのようなループをできるだけ手短に書くと、次のようになります。

For i=1:1:$Length(string,",") {
    Set piece = $Piece(string,",",i)
    //piece を使って何らかの処理を実行する...
}

とても分かりやすいですね。でも、多くのコーディングスタイルガイドラインは次のようなコードを提案するかもしれません。

0
1 564