Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
OutSystemsベストプラクティス紹介
Search
out-developers
January 29, 2020
Programming
1
990
OutSystemsベストプラクティス紹介
out-developers
January 29, 2020
Tweet
Share
More Decks by out-developers
See All by out-developers
OutSystems愛知ユーザー会#3使用 回答例
outdevelopers
0
240
Other Decks in Programming
See All in Programming
Understanding Apache Lucene - More than just full-text search
spinscale
0
100
grapheme_strrev関数が採択されました(あと雑感)
youkidearitai
PRO
1
210
encoding/json/v2のUnmarshalはこう変わった:内部実装で見る設計改善
kurakura0916
0
400
RAGでハマりがちな"Excelの罠"を、データの構造化で突破する
harumiweb
9
2.8k
SourceGeneratorのマーカー属性問題について
htkym
0
190
AIに任せる範囲を安全に広げるためにやっていること
fukucheee
0
130
LangChain4jとは一味違うLangChain4j-CDI
kazumura
1
180
AHC061解説
shun_pi
0
360
How to stabilize UI tests using XCTest
akkeylab
0
120
Goの型安全性で実現する複数プロダクトの権限管理
ishikawa_pro
2
280
Cyrius ーLinux非依存にコンテナをネイティブ実行する専用OSー
n4mlz
0
140
野球解説AI Agentを開発してみた - 2026/02/27 LayerX社内LT会資料
shinyorke
PRO
0
250
Featured
See All Featured
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
84
Optimizing for Happiness
mojombo
378
71k
The browser strikes back
jonoalderson
0
790
The Curious Case for Waylosing
cassininazir
0
270
Designing for Performance
lara
611
70k
Thoughts on Productivity
jonyablonski
75
5.1k
Prompt Engineering for Job Search
mfonobong
0
180
Abbi's Birthday
coloredviolet
2
5.3k
Evolving SEO for Evolving Search Engines
ryanjones
0
150
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
140
The Language of Interfaces
destraynor
162
26k
What's in a price? How to price your products and services
michaelherold
247
13k
Transcript
OutSystemsベストプラクティスの紹介
はじめに ここで紹介する内容はあくまで推奨事項です 必ずそうしないとダメ ということではないので、 開発環境に合わせて調整してください
OutSystemsのホームページにあり
命名規則 誰が見ても役割を理解できるようにしよう 意味がわかりやすい言葉を使おう (例:CheckUser→IsUser) 外部キーは「id」を付けよう (例: 「CustomerId」) パスカルケースを使用する 最初の文字と単語の先頭を大文字にする表記方法 (「例:ZipCode)
コーディング規約 後から見たときにロジックなどわかりやすいようにする アクションフローは縦方向にして、整理する ハードコーディングをしない 会計=製品単価*購入数+製品単価*購入数*0.1 代わりに静的エンティティを使用する
重複した処理は部品化して再利用する ロジックで重複箇所→ユーザーアクションを使用 画面の重複箇所→WebBlockを使用して画面の一部 を再利用
クエリ(AggregateやSQL) 基本はAggregateを使用する SQLは必要なときのみに使用する 何回もAggregateを使うより SQLを1回使って求めているデータが取得ならSQL 実行する必要があるクエリの数は最小限にする
ロジック 使用していない、重複しているものは削除する 画面のPreparationを簡素化する 画面の読み込み速度を向上させるため ノード数は10まで位を目安にする 頻繁に変更する変数としてサイトプロパティを使用し ない サイトプロパティの変更は時間がかかる
アーキテクチャを見直す • 他のモジュールのEntityやWebBlockは ManageDependenciesから参照できる • 役割によってモジュールを分割して、 必要なモジュールを参照して開発していく
モジュールのアーキテクチャ • 4 layersCampasを使用 • オーケストレーション:ダッシュボード • エンドユーザ:ユーザーが使用する画面 • コア:データやビジネスロジック
• ライブラリ:外部システムのコネクタとか 他システムで使用できるもの
まとめ 誰から見ても理解しやすいようにしよう 処理の高速化のため、管理のため簡素にしよう 後から変更しやすいシステムを作ろう