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
1k
1
Share
OutSystemsベストプラクティス紹介
out-developers
January 29, 2020
More Decks by out-developers
See All by out-developers
OutSystems愛知ユーザー会#3使用 回答例
outdevelopers
0
250
Other Decks in Programming
See All in Programming
条件判定に名前、つけてますか? #phperkaigi #c
77web
2
890
「速くなった気がする」をデータで疑う
senleaf24
0
110
へんな働き方
yusukebe
6
2.9k
RailsのValidatesをSwift Macrosで再現してみた
hokuron
0
140
Cyrius ーLinux非依存にコンテナをネイティブ実行する専用OSー
n4mlz
0
260
OTP を自動で入力する裏技
megabitsenmzq
0
130
AWS×クラウドネイティブソフトウェア設計 / AWS x Cloud-Native Software Design
nrslib
16
3.5k
Xdebug と IDE による デバッグ実行の仕組みを見る / Exploring-How-Debugging-Works-with-Xdebug-and-an-IDE
shin1x1
0
270
Everything Claude Code OSS詳細 — 5層構造の中身と導入方法
targe
0
160
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
830
今こそ押さえておきたい アマゾンウェブサービス(AWS)の データベースの基礎 おもクラ #6版
satoshi256kbyte
1
210
20260315 AWSなんもわからん🥲
chiilog
2
180
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1370
200k
So, you think you're a good person
axbom
PRO
2
2k
Agile that works and the tools we love
rasmusluckow
331
21k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
920
We Are The Robots
honzajavorek
0
210
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Navigating Team Friction
lara
192
16k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
420
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.5k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.5k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
160
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を使用 • オーケストレーション:ダッシュボード • エンドユーザ:ユーザーが使用する画面 • コア:データやビジネスロジック
• ライブラリ:外部システムのコネクタとか 他システムで使用できるもの
まとめ 誰から見ても理解しやすいようにしよう 処理の高速化のため、管理のため簡素にしよう 後から変更しやすいシステムを作ろう