<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>コーディング規約 &#8211; AI開発実践ラボ</title>
	<atom:link href="https://creativecontentlabtokyo.com/tag/%E3%82%B3%E3%83%BC%E3%83%87%E3%82%A3%E3%83%B3%E3%82%B0%E8%A6%8F%E7%B4%84/feed/" rel="self" type="application/rss+xml" />
	<link>https://creativecontentlabtokyo.com</link>
	<description>AIで、作る力を手に入れる。</description>
	<lastBuildDate>Sat, 04 Apr 2026 21:09:24 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>
	<item>
		<title>Salesforce開発コーディング規約（LWC）サンプル・テンプレート</title>
		<link>https://creativecontentlabtokyo.com/salesforce-lightning-web-component-coding-standards-guide-template/</link>
		
		<dc:creator><![CDATA[セールスフォース標準化推進ラボ]]></dc:creator>
		<pubDate>Sun, 15 Jun 2025 08:06:23 +0000</pubDate>
				<category><![CDATA[テンプレート]]></category>
		<category><![CDATA[開発]]></category>
		<category><![CDATA[Apex]]></category>
		<category><![CDATA[Lightning web component]]></category>
		<category><![CDATA[LWC]]></category>
		<category><![CDATA[Salesforce]]></category>
		<category><![CDATA[コーディング規約]]></category>
		<category><![CDATA[サンプル]]></category>
		<category><![CDATA[セールスフォース]]></category>
		<category><![CDATA[品質管理]]></category>
		<category><![CDATA[書き方]]></category>
		<guid isPermaLink="false">https://creativecontentlabtokyo.com/?p=5286</guid>

					<description><![CDATA[本記事では、Creative Content Lab Tokyo（クリエイティブコンテンツラボトウキョウ）が作成したSalesforceの開発コーディング規約（…]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">本記事では、Creative Content Lab Tokyo（クリエイティブコンテンツラボトウキョウ）が作成したSalesforceの開発コーディング規約（Lightning Web Component）のテンプレートをご提供しております。</p>
<p class="whitespace-normal break-words">モダンなSalesforce開発において、Lightning Web Component（LWC）は欠かせない技術要素となっています。しかし、多くの開発チームが「どのようなコーディング規約を設ければよいのか」「チーム全体で一貫したコードスタイルを維持するにはどうすればよいのか」といった課題を抱えています。</p>
<p class="whitespace-normal break-words">本記事では、SalesforceのApexコーディング規約の考え方を参考にしながら、LWC開発における実践的なコーディング規約の策定と活用方法について詳しく解説します。品質の高いLWCアプリケーションを開発するために、ぜひ本ガイドを参考にして、あなたのプロジェクトに最適なコーディング規約を構築してください。</p>
<p class="whitespace-normal break-words">本記事では、このテンプレートの特徴と効果的な活用方法について詳しく解説します。</p>
<h2 class="text-xl font-bold text-text-100 mt-1 -mb-0.5">なぜコーディング規約が重要なのか</h2>
<h3 class="text-lg font-bold text-text-100 mt-1 -mb-1.5">1. フロントエンド開発の複雑性への対応</h3>
<p class="whitespace-normal break-words">LWC開発では、JavaScript、HTML、CSS、そしてSalesforceのメタデータが複雑に絡み合います。統一されたコーディング規約がないと、以下のような問題が発生します：</p>
<ul class="[&amp;:not(:last-child)_ul]:pb-1 [&amp;:not(:last-child)_ol]:pb-1 list-disc space-y-1.5 pl-7">
<li class="whitespace-normal break-words">コンポーネント間でのスタイリングの不整合</li>
<li class="whitespace-normal break-words">JavaScript のパフォーマンスの劣化</li>
<li class="whitespace-normal break-words">コンポーネントの再利用性の低下</li>
<li class="whitespace-normal break-words">デバッグの困難さ</li>
</ul>
<h3 class="text-lg font-bold text-text-100 mt-1 -mb-1.5">2. Salesforceプラットフォーム特有の制約</h3>
<p class="whitespace-normal break-words">LWC開発では、一般的なWebフロントエンド開発とは異なる独特の制約があります：</p>
<ul class="[&amp;:not(:last-child)_ul]:pb-1 [&amp;:not(:last-child)_ol]:pb-1 list-disc space-y-1.5 pl-7">
<li class="whitespace-normal break-words">Locker Service によるセキュリティ制約</li>
<li class="whitespace-normal break-words">Lightning Data Service の効率的な活用</li>
<li class="whitespace-normal break-words">イベント伝播とコンポーネント間通信</li>
<li class="whitespace-normal break-words">レスポンシブデザインとLightning Design System（SLDS）の準拠</li>
</ul>
<h3 class="text-lg font-bold text-text-100 mt-1 -mb-1.5">3. 長期保守性の確保</h3>
<p class="whitespace-normal break-words">LWCコンポーネントは、Salesforceの組織内で長期間にわたって使用されます。初期開発から数年後の機能拡張や修正を考慮した、保守しやすいコード構造を保つことが重要です。</p>
<h2>1.テーラリングガイド</h2>
<h3>１．目次サンプル</h3>
<p><img fetchpriority="high" decoding="async" width="1446" height="1001" class="alignnone wp-image-5297 size-full" src="https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-79.png" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-79.png 1446w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-79-300x208.png 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-79-1024x709.png 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-79-768x532.png 768w" sizes="(max-width: 1446px) 100vw, 1446px" /></p>
<p>目次<br />1 はじめに <br />　1.1 本書の目的 7<br />　1.1.1 利用者 7<br />1.2 記号 7<br />　1.2.1 本書で使用する記号についての説明 7<br />1.3 用語の定義 7<br />　1.3.1 本書で使用する記号についての説明 7<br />2 基本方針 8<br />　2.1 可読性の優先 8<br />　2.2 保守性の確保 8<br />　2.3 Lightning固有の考慮事項 8<br />3 命名規則 8<br />　3.1 コンポーネント名 8<br />　3.2 メソッド名 9<br />　3.3 定数名 10<br />4 ファイル構造とフォーマット 11<br />　4.1 ファイル構成 11<br />　4.2 インデント 11<br />　4.3 行の長さ 12<br />5 Javascript設計 13<br />　5.1 クラス構造の順序 13<br />　5.2 プロパティ設計 15<br />6 HTMLテンプレート設計 17<br />　6.1 テンプレート構造 17<br />　6.2 イベントハンドリング 18<br />7 CSSスタイル設計 21<br />　7.1 SLDS準拠 21<br />　7.2 CSSカスタムプロパティ 22<br />8 データアクセスとAPIコール 22<br />　8.1 Lightning Data Service (LDS) 22<br />　8.2 Apexメソッド呼び出し 24<br />9 イベント設計 25<br />　9.1 カスタムイベント 25<br />　9.2 プラットフォームイベント 27<br />10 テスト設計 28<br />　10.1 Jestテスト 28<br />　10.2 テストデータファクトリ 31<br />11 セキュリティとベストプラクティス 33<br />　11.1 セキュリティ考慮事項 33<br />　11.2 パフォーマンス最適化 34<br />12 国際化対応 36<br />　12.1 カスタムラベル使用 36<br />　12.2 日付・通貨・数値フォーマット 38<br />13 エラーハンドリング 40<br />　13.1 統一的なエラーハンドリング 40<br />　13.2 バリデーションエラー 43<br />14 デバッグとトラブルシューティング 45<br />　14.1 ログ出力 45<br />　14.2 パフォーマンス監視 46<br />15 コンポーネント設計パターン 48<br />　15.1 コンポーネント間通信 48<br />　15.2 コンポーネント間通信 50<br />16 メタデータ設計 53<br />　16.1 コンポーネントメタデータ 53<br />17 運用保守 55<br />　17.1 コードレビューチェックリスト 55</p>
<h3>２.基本方針（可読性・保守性の重視）</h3>
<p class="whitespace-normal break-words">テンプレートでは、「可読性の優先」「保守性の確保」「Salesforce固有の考慮事項」の3つを基本方針として掲げています。これらの方針は、長期的な開発・運用を見据えた重要な指針となります。</p>
<p><img decoding="async" width="1440" height="999" class="alignnone wp-image-5298 size-full" src="https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-80.png" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-80.png 1440w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-80-300x208.png 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-80-1024x710.png 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-80-768x533.png 768w" sizes="(max-width: 1440px) 100vw, 1440px" /></p>
<p class="whitespace-normal break-words"><strong>可読性の優先</strong></p>
<ul class="[&amp;:not(:last-child)_ul]:pb-1 [&amp;:not(:last-child)_ol]:pb-1 list-disc space-y-1.5 pl-7">
<li class="whitespace-normal break-words">コードは書く時間よりも読む時間の方が長いことを念頭に置く</li>
<li class="whitespace-normal break-words">自己説明的なコードを心がける</li>
<li class="whitespace-normal break-words">適切なコメントで意図を明確にする</li>
</ul>
<p class="whitespace-normal break-words"><strong>保守性の確保</strong></p>
<ul class="[&amp;:not(:last-child)_ul]:pb-1 [&amp;:not(:last-child)_ol]:pb-1 list-disc space-y-1.5 pl-7">
<li class="whitespace-normal break-words">単一責任原則に従ったコンポーネント設計</li>
<li class="whitespace-normal break-words">疎結合と高凝集を実現する構造</li>
<li class="whitespace-normal break-words">将来の変更に対応しやすい設計</li>
</ul>
<p class="whitespace-normal break-words"><strong>パフォーマンスの重視</strong></p>
<ul class="[&amp;:not(:last-child)_ul]:pb-1 [&amp;:not(:last-child)_ol]:pb-1 list-disc space-y-1.5 pl-7">
<li class="whitespace-normal break-words">不要な再レンダリングを避ける</li>
<li class="whitespace-normal break-words">効率的なデータフェッチ</li>
<li class="whitespace-normal break-words">適切なライフサイクルフックの活用</li>
</ul>
<h3 class="text-lg font-bold text-text-100 mt-1 -mb-1.5">３.命名規則の統一</h3>
<p class="whitespace-normal break-words">3.1 コンポーネント名<br />規則:<br />• kebab-case（小文字、単語間はハイフン）<br />• 意味のある名前を使用<br />• 業務領域を表現する接頭辞を付ける</p>
<p>3.2 メソッド名<br />規則:<br />• camelCase（最初は小文字、以降の単語は大文字開始）<br />• 意味のある名前を使用<br />• Boolean型はis、has、canで開始</p>
<p>3.3 定数名<br />規則:<br />• UPPER_SNAKE_CASE（全て大文字、単語間はアンダースコア）<br />• 意味を明確に表現</p>
<h3 class="text-lg font-bold text-text-100 mt-1 -mb-1.5"><br />4.ファイル構造とフォーマット</h3>
<p><img decoding="async" width="1438" height="996" class="alignnone wp-image-5301 size-full" src="https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-83.png" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-83.png 1438w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-83-300x208.png 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-83-1024x709.png 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-83-768x532.png 768w" sizes="(max-width: 1438px) 100vw, 1438px" /></p>
<p>4.1 ファイル構成</p>
<p><strong>my-component/</strong></p>
<p><strong>├── my-component.js         // Javascript </strong><strong>ロジック</strong></p>
<p><strong>├── my-component.html       // HTML </strong><strong>テンプレート</strong></p>
<p><strong>├── my-component.css        // CSS </strong><strong>スタイル</strong></p>
<p><strong>├── my-component.js-meta.xml // </strong><strong>メタデータ</strong></p>
<p><strong>└── __tests__/</strong></p>
<p><strong>    └── my-component.test.js // </strong><strong>テストファイル</strong></p>
<p>4.2 インデント</p>
<p><strong>規則:</strong></p>
<ul>
<li>2スペースインデント（タブ文字は使用しない）</li>
<li>一貫したインデントレベルを維持</li>
</ul>
<p>4.3 行の長さ</p>
<p><strong>規則:</strong></p>
<ul>
<li>1行120文字以内を推奨</li>
<li>長い行は適切な位置で改行</li>
</ul>
<h3 class="text-lg font-bold text-text-100 mt-1 -mb-1.5">5.Javascript設計</h3>
<p class="whitespace-normal break-words">クラス構造体の順序、ﾌﾟﾛﾊﾟﾃｨ設計の規則と例を記述しています。</p>
<p><img loading="lazy" decoding="async" width="1432" height="995" class="alignnone wp-image-5303 size-full" src="https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-85.png" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-85.png 1432w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-85-300x208.png 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-85-1024x712.png 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-85-768x534.png 768w" sizes="auto, (max-width: 1432px) 100vw, 1432px" /></p>
<h3 class="text-lg font-bold text-text-100 mt-1 -mb-1.5">6.HTMLテンプレート設計</h3>
<p class="whitespace-normal break-words">テンプレート構造、イベントハンドリングについての規約と例文について解説しています。</p>
<p><img loading="lazy" decoding="async" width="1438" height="999" class="alignnone wp-image-5304 size-full" src="https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-86.png" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-86.png 1438w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-86-300x208.png 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-86-1024x711.png 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-86-768x534.png 768w" sizes="auto, (max-width: 1438px) 100vw, 1438px" /></p>
<h3 class="text-lg font-bold text-text-100 mt-1 -mb-1.5">7.CSSスタイル設計</h3>
<p class="whitespace-normal break-words">CSSスタイル設計のSLDS準拠について、CSSカスタムプロパティの利用方法について解説しています。</p>
<p><img loading="lazy" decoding="async" width="1431" height="1004" class="alignnone wp-image-5305 size-full" src="https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-87.png" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-87.png 1431w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-87-300x210.png 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-87-1024x718.png 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-87-768x539.png 768w" sizes="auto, (max-width: 1431px) 100vw, 1431px" /></p>
<h3>8 データアクセスとAPIコール</h3>
<p>Lightning Data ServiceやApexメソッドの呼び出しに関する規則について解説しています。</p>
<p><img loading="lazy" decoding="async" width="1436" height="998" class="alignnone wp-image-5308 size-full" src="https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-88.png" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-88.png 1436w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-88-300x208.png 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-88-1024x712.png 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-88-768x534.png 768w" sizes="auto, (max-width: 1436px) 100vw, 1436px" /></p>
<p>8.1 Lightning Data Service (LDS) <br />規則:<br />• 単一レコード操作にはLDSを優先的に使用<br />• @wireでリアクティブなデータバインディング<br />• エラーハンドリングを適切に実装</p>
<p>8.2 Apexメソッド呼び出し<br />規則:<br />• @wireで自動データバインディング<br />• imperative callで手動データ取得<br />• 適切なエラーハンドリング</p>
<h3>9.イベント設計</h3>
<p>カスタムイベント、プラットフォームイベントについて解説</p>
<p><img loading="lazy" decoding="async" width="1429" height="996" class="alignnone wp-image-5313 size-full" src="https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-90.png" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-90.png 1429w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-90-300x209.png 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-90-1024x714.png 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-90-768x535.png 768w" sizes="auto, (max-width: 1429px) 100vw, 1429px" /></p>
<h3>10.テスト設計</h3>
<p>Jestテスト、テストデータファクトリについて解説</p>
<p><img loading="lazy" decoding="async" width="1426" height="995" class="alignnone wp-image-5314 size-full" src="https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-91.png" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-91.png 1426w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-91-300x209.png 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-91-1024x715.png 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-91-768x536.png 768w" sizes="auto, (max-width: 1426px) 100vw, 1426px" /></p>
<h3>11.セキュリティとベストプラクティス</h3>
<p><img loading="lazy" decoding="async" width="1425" height="988" class="alignnone wp-image-5316 size-full" src="https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-93.png" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-93.png 1425w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-93-300x208.png 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-93-1024x710.png 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-93-768x532.png 768w" sizes="auto, (max-width: 1425px) 100vw, 1425px" /></p>
<p>11.1 セキュリティ考慮事項<br />規則:<br />• ユーザー入力は常にサニタイズ<br />• lightning-formatted-textでXSS対策<br />• CRUD/FLS権限を考慮</p>
<h3>その他</h3>
<p>テンプレートを参照ください。</p>
<h2 class="text-xl font-bold text-text-100 mt-1 -mb-0.5">テンプレートの効果的な活用方法</h2>
<h3 class="text-lg font-bold text-text-100 mt-1 -mb-1.5">1. プロジェクト開始時の規約策定</h3>
<p class="whitespace-normal break-words">新しいSalesforceプロジェクトを開始する際、このテンプレートをベースとして、プロジェクト固有の要件に合わせてカスタマイズすることで、短時間で実用的なコーディング規約を策定できます。</p>
<p class="whitespace-normal break-words"><strong>活用手順</strong>：</p>
<ol class="[&amp;:not(:last-child)_ul]:pb-1 [&amp;:not(:last-child)_ol]:pb-1 list-decimal space-y-1.5 pl-7">
<li class="whitespace-normal break-words">テンプレートをダウンロードし、開発チーム全体で内容を確認</li>
<li class="whitespace-normal break-words">プロジェクトの特性に応じて、必要な項目を追加・修正</li>
<li class="whitespace-normal break-words">チーム内での合意形成とドキュメント化</li>
</ol>
<h3 class="text-lg font-bold text-text-100 mt-1 -mb-1.5">2. 既存プロジェクトの品質改善</h3>
<p class="whitespace-normal break-words">既に進行中のプロジェクトでも、段階的にコーディング規約を導入することで品質向上を図ることができます。</p>
<p class="whitespace-normal break-words"><strong>段階的導入のアプローチ</strong>：</p>
<ul class="[&amp;:not(:last-child)_ul]:pb-1 [&amp;:not(:last-child)_ol]:pb-1 list-disc space-y-1.5 pl-7">
<li class="whitespace-normal break-words"><strong>第1段階</strong>: 新規開発コードから規約適用開始</li>
<li class="whitespace-normal break-words"><strong>第2段階</strong>: 既存コードの修正時に規約に合わせてリファクタリング</li>
<li class="whitespace-normal break-words"><strong>第3段階</strong>: 重要なモジュールから順次全面的な規約適用</li>
</ul>
<h3 class="text-lg font-bold text-text-100 mt-1 -mb-1.5">3. コードレビューの効率化</h3>
<p class="whitespace-normal break-words">テンプレートに含まれるチェックリストを活用することで、コードレビューの観点が明確になり、見落としを防ぐことができます。</p>
<h3 class="text-lg font-bold text-text-100 mt-1 -mb-1.5">4. 新人教育・オンボーディング</h3>
<p class="whitespace-normal break-words">新しくチームに参加する開発者に対して、このテンプレートを教育資料として使用することで、Salesforce開発のベストプラクティスを効率的に伝えることができます。</p>
<h2 class="text-xl font-bold text-text-100 mt-1 -mb-0.5">実装時の注意点とコツ</h2>
<h3 class="text-lg font-bold text-text-100 mt-1 -mb-1.5">段階的な導入を心がける</h3>
<p class="whitespace-normal break-words">すべての規約を一度に導入しようとすると、開発チームに大きな負担をかけてしまいます。重要度の高い項目から順次導入し、チーム全体が慣れてから次の項目に進むことが重要です。</p>
<h3 class="text-lg font-bold text-text-100 mt-1 -mb-1.5">ツールを活用した自動化</h3>
<p class="whitespace-normal break-words">可能な限り、IDE（Salesforce CLI、VS Code）の設定やCI/CDパイプラインを活用して、規約チェックを自動化しましょう。手動でのチェックに頼りすぎると、継続が困難になります。</p>
<h3 class="text-lg font-bold text-text-100 mt-1 -mb-1.5">定期的な見直しと改善</h3>
<p class="whitespace-normal break-words">プロジェクトの進行に伴い、新たな課題や改善点が見つかることがあります。定期的に規約を見直し、チームの成長とプロジェクトの変化に応じてアップデートしていくことが大切です。</p>
<h2 class="text-xl font-bold text-text-100 mt-1 -mb-0.5">テンプレートに含まれる実践的なコード例</h2>
<p class="whitespace-normal break-words">このテンプレートの大きな特徴の一つは、豊富な実装例が含まれていることです。抽象的な説明だけでなく、具体的なコード例を通じて「良い例」と「悪い例」を明示しているため、開発者が実際のコーディング時に迷うことなく適用できます。</p>
<h3 class="text-lg font-bold text-text-100 mt-1 -mb-1.5">SLDSの活用例</h3>
<pre class=""><code class="language-apex code_break">(css)
/* <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 良い例 - SLDS準拠 */
.account-container {
  padding: var(--lwc-spacing-medium);
}

.header {
  margin-bottom: var(--lwc-spacing-large);
}

.content {
  display: flex;
  flex-direction: column;
  gap: var(--lwc-spacing-medium);
}

.empty-state {
  text-align: center;
  padding: var(--lwc-spacing-x-large);
  color: var(--lwc-color-text-weak);
}

.error-message {
  color: var(--lwc-color-text-error);
  padding: var(--lwc-spacing-small);
  border: 1px solid var(--lwc-color-border-error);
  border-radius: var(--lwc-border-radius-medium);
  background-color: var(--lwc-color-background-error);
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
  .content {
    padding: var(--lwc-spacing-small);
  }
}
</code></pre>

<h2 class="text-xl font-bold text-text-100 mt-1 -mb-0.5">継続的な品質向上のために</h2>
<p class="whitespace-normal break-words">コーディング規約の導入は、ゴールではなくスタートラインです。継続的に品質を向上させるために、以下の取り組みを推奨します：</p>
<h3 class="text-lg font-bold text-text-100 mt-1 -mb-1.5">定期的なコードレビュー会の実施</h3>
<p class="whitespace-normal break-words">チーム全体でコードレビューを行う時間を定期的に設け、規約の適用状況や新たな課題について議論します。</p>
<h3 class="text-lg font-bold text-text-100 mt-1 -mb-1.5">メトリクス測定と改善</h3>
<p class="whitespace-normal break-words">テストカバレッジ、複雑度、規約違反数などのメトリクスを測定し、定量的な改善を図ります。</p>
<h3 class="text-lg font-bold text-text-100 mt-1 -mb-1.5">知識共有とベストプラクティスの蓄積</h3>
<p class="whitespace-normal break-words">チーム内で発見されたベストプラクティスを規約に反映し、組織の知見として蓄積していきます。</p>
<h2 class="text-xl font-bold text-text-100 mt-1 -mb-0.5">まとめ</h2>
<p class="whitespace-normal break-words">今回公開したSalesforce Apexコーディング規約テンプレートは、実際の開発現場での経験を基に作成された実践的なドキュメントです。このテンプレートを活用することで、開発チームは以下のメリットを得ることができます：</p>
<ul class="[&amp;:not(:last-child)_ul]:pb-1 [&amp;:not(:last-child)_ol]:pb-1 list-disc space-y-1.5 pl-7">
<li class="whitespace-normal break-words"><strong>開発効率の向上</strong>: 統一されたコーディングスタイルにより、コードレビューや保守作業が効率化</li>
<li class="whitespace-normal break-words"><strong>品質の向上</strong>: Salesforce特有の制約を考慮したベストプラクティスにより、バグの削減と性能向上を実現</li>
<li class="whitespace-normal break-words"><strong>チーム力の強化</strong>: 共通の規約により、チーム内でのコミュニケーションと協力が促進</li>
<li class="whitespace-normal break-words"><strong>スケーラビリティの確保</strong>: 将来の機能拡張や保守作業に対応しやすいコード構造の実現</li>
</ul>
<p class="whitespace-normal break-words">Salesforce開発の品質向上を目指すすべてのチームに、このテンプレートを積極的に活用していただき、より良いシステム開発を実現していただければと思います。</p>
<h2>資料のダウンロード</h2>
<p class="whitespace-normal break-words">テンプレートのダウンロードは、Creative Content Lab Tokyoの公式サイトから無料で行えます。ぜひ、あなたのプロジェクトでもご活用ください。</p>
<p>資料のダウンロードおよびご利用に関しては、本サイトのコンテンツ利用規約に同意される場合のみ利用可能となります。</p>
<div class="cclt-compat-mybutton cclt-compat-mybutton--ref cclt-compat-mybutton--shadow"><a href="https://creativecontentlabtokyo.com/terms/" class="cclt-compat-mybutton__link" style="color:#fff;background-color:#e53935;border:1px solid #e57373;border-radius:5px;font-weight:bold;background:linear-gradient(#f44336,#e53935);" target="_blank" rel="noopener noreferrer">ダウンロード前に利用規約を必ずお読みください。</a></div>
<h3>一般公開資料</h3>
<p><span class="huto">開発コーディング規約のダウンロード</span></p>
<div class="cclt-compat-mybutton cclt-compat-mybutton--ref cclt-compat-mybutton--shadow"><a href="https://docs.google.com/uc?export=download&#038;id=1qqGSUPYIXZNCIuwTw2CuN0i4g0V4v7k9" class="cclt-compat-mybutton__link" style="color:#fff;background-color:#43A047;border:1px solid #81C784;border-radius:5px;font-weight:bold;font-size:bold;background:linear-gradient(#66BB6A,#43A047);" target="_blank" rel="noopener noreferrer">ダウンロード <i class="fa fa-angle-right"></i></a></div>
<p><strong>※クリックして資料のダウンロードが開始されるまで少し時間がかかる場合がありますので、そのままお待ちください。</strong></p>
<p><strong>もしダウンロードが開始されない場合、ブラウザでポップアップブロックされている可能性があるのでご確認ください。</strong></p>
<h2>最後に</h2>
<div class="cclt-compat-kaiwa cclt-compat-kaiwa--left"><div class="cclt-compat-kaiwa__icon"><img decoding="async" src="https://creativecontentlabtokyo.com/wp-content/uploads/2024/11/schooldays1.jpg" alt="サポーターさん" loading="lazy" /><span class="cclt-compat-kaiwa__name">サポーターさん</span></div><div class="cclt-compat-kaiwa__bubble" style="background-color:#f4f4e3;"><div class="cclt-compat-kaiwa__text">テンプレートのご利用に関して不明な点があればお問い合わせください。また、テンプレートに対しての要望がありましたらご意見ください。 皆様の役に立つように改善していきたいと思います。</div></div></div>
<div class="cclt-compat-kaiwa cclt-compat-kaiwa--left"><div class="cclt-compat-kaiwa__icon"><img decoding="async" src="https://creativecontentlabtokyo.com/wp-content/uploads/2024/11/schooldays1.jpg" alt="サポーターさん" loading="lazy" /><span class="cclt-compat-kaiwa__name">サポーターさん</span></div><div class="cclt-compat-kaiwa__bubble" style="background-color:#f4f4e3;"><div class="cclt-compat-kaiwa__text">ブログランキングに参加しましたので、ご支援していただけると幸いです。</div></div></div>
<p><a href="https://it.blogmura.com/ranking/in?p_cid=11084904" target="_blank" rel="noopener noreferrer"><img loading="lazy" decoding="async" src="https://b.blogmura.com/banner-blogmura-portfolio.svg" alt="にほんブログ村 IT技術ブログへ" width="88" height="31" border="0" /></a><br /><a href="https://it.blogmura.com/ranking/in?p_cid=11084904" rel="noopener">にほんブログ村</a></p>
		<div class="wpulike wpulike-animated-heart " ><div class="wp_ulike_general_class wp_ulike_is_restricted"><button type="button"
					aria-label="いいねボタン"
					data-ulike-id="5286"
					data-ulike-nonce="41c29e4600"
					data-ulike-type="post"
					data-ulike-template="wpulike-animated-heart"
					data-ulike-display-likers=""
					data-ulike-likers-style="popover"
					data-ulike-append="&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop one&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop two&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop three&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop four&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop five&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop six&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop seven&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop eight&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop nine&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;"
					class="wp_ulike_btn wp_ulike_put_image wp_post_btn_5286"><svg class="wpulike-svg-heart wpulike-svg-heart-icon" viewBox="0 -28 512.00002 512" xmlns="http://www.w3.org/2000/svg"><path
						d="m471.382812 44.578125c-26.503906-28.746094-62.871093-44.578125-102.410156-44.578125-29.554687 0-56.621094 9.34375-80.449218 27.769531-12.023438 9.300781-22.917969 20.679688-32.523438 33.960938-9.601562-13.277344-20.5-24.660157-32.527344-33.960938-23.824218-18.425781-50.890625-27.769531-80.445312-27.769531-39.539063 0-75.910156 15.832031-102.414063 44.578125-26.1875 28.410156-40.613281 67.222656-40.613281 109.292969 0 43.300781 16.136719 82.9375 50.78125 124.742187 30.992188 37.394531 75.535156 75.355469 127.117188 119.3125 17.613281 15.011719 37.578124 32.027344 58.308593 50.152344 5.476563 4.796875 12.503907 7.4375 19.792969 7.4375 7.285156 0 14.316406-2.640625 19.785156-7.429687 20.730469-18.128907 40.707032-35.152344 58.328125-50.171876 51.574219-43.949218 96.117188-81.90625 127.109375-119.304687 34.644532-41.800781 50.777344-81.4375 50.777344-124.742187 0-42.066407-14.425781-80.878907-40.617188-109.289063zm0 0" /></svg></button><span class="count-box wp_ulike_counter_up" data-ulike-counter-value="0"></span>			</div></div>
	]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Salesforce開発コーディング規約（Apex）サンプル・テンプレート</title>
		<link>https://creativecontentlabtokyo.com/salesforce-apex-coding-standards-guide-template/</link>
		
		<dc:creator><![CDATA[セールスフォース標準化推進ラボ]]></dc:creator>
		<pubDate>Sat, 31 May 2025 16:09:18 +0000</pubDate>
				<category><![CDATA[テンプレート]]></category>
		<category><![CDATA[開発]]></category>
		<category><![CDATA[Apex]]></category>
		<category><![CDATA[Salesforce]]></category>
		<category><![CDATA[コーディング規約]]></category>
		<category><![CDATA[サンプル]]></category>
		<category><![CDATA[セールスフォース]]></category>
		<category><![CDATA[書き方]]></category>
		<guid isPermaLink="false">https://creativecontentlabtokyo.com/?p=5045</guid>

					<description><![CDATA[本記事では、Creative Content Lab Tokyo（クリエイティブコンテンツラボトウキョウ）が作成したSalesforceの開発コーディング規約（…]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">本記事では、Creative Content Lab Tokyo（クリエイティブコンテンツラボトウキョウ）が作成したSalesforceの開発コーディング規約（Apex）のテンプレートをご提供しております。</p>
<p class="whitespace-normal break-words">Salesforce開発において、品質の高いコードを書くことは、システムの保守性、拡張性、そして開発チームの生産性に直結する重要な要素です。</p>
<p class="whitespace-normal break-words">しかし、多くの開発現場では「どのようなコーディング規約を設ければよいのか」「チーム全体で一貫したコードスタイルを維持するにはどうすればよいのか」といった課題を抱えています。</p>
<p class="whitespace-normal break-words">そこで今回、Creative Content Lab Tokyoでは、実際の開発現場で使用できるSalesforce Apexコーディング規約テンプレートを無料公開いたします。</p>
<p class="whitespace-normal break-words">本記事では、このテンプレートの特徴と効果的な活用方法について詳しく解説します。</p>
<p>是非、本テンプレートを利用して各プロジェクトの実態にあった実践的なApexコーディング規約を作成してみてください。</p>
<h2 class="text-xl font-bold text-text-100 mt-1 -mb-0.5">なぜApexコーディング規約が重要なのか</h2>
<h3 class="text-lg font-bold text-text-100 mt-1 -mb-1.5">1. チーム開発における統一性の確保</h3>
<p class="whitespace-normal break-words">複数の開発者が参加するプロジェクトでは、各々が異なるコーディングスタイルでコードを書いてしまうことがよくあります。</p>
<p class="whitespace-normal break-words">これにより、コードレビューが困難になり、バグの発見が遅れたり、新しいメンバーがコードを理解するのに時間がかかったりします。</p>
<p class="whitespace-normal break-words">統一されたコーディング規約があることで：</p>
<ul class="[&amp;:not(:last-child)_ul]:pb-1 [&amp;:not(:last-child)_ol]:pb-1 list-disc space-y-1.5 pl-7">
<li class="whitespace-normal break-words">コードの可読性が向上し、誰が書いたコードでも理解しやすくなる</li>
<li class="whitespace-normal break-words">コードレビューの効率が上がり、品質向上に集中できる</li>
<li class="whitespace-normal break-words">新規参画メンバーのオンボーディングが迅速になる</li>
</ul>
<h3 class="text-lg font-bold text-text-100 mt-1 -mb-1.5">2. Salesforce特有の制約への対応</h3>
<p class="whitespace-normal break-words">SalesforceのApex開発では、一般的なプログラミング言語にはない独特の制約があります：</p>
<ul class="[&amp;:not(:last-child)_ul]:pb-1 [&amp;:not(:last-child)_ol]:pb-1 list-disc space-y-1.5 pl-7">
<li class="whitespace-normal break-words">ガバナ制限（SOQL、DML、CPUタイムなど）</li>
<li class="whitespace-normal break-words">セキュリティモデル（共有設定、FLS）</li>
<li class="whitespace-normal break-words">マルチテナント環境特有の考慮事項</li>
</ul>
<p class="whitespace-normal break-words">これらの制約を理解せずに開発を進めると、本番環境で予期しないエラーが発生する可能性があります。</p>
<h3 class="text-lg font-bold text-text-100 mt-1 -mb-1.5">3. 保守性の確保</h3>
<p class="whitespace-normal break-words">Salesforceシステムは長期間にわたって運用されることが多く、初期開発から数年後に機能追加や修正が必要になることが一般的です。この際、コーディング規約に従って書かれたコードは、修正や拡張が容易になります。</p>
<h2>1.テーラリングガイド</h2>
<h3>目次サンプル</h3>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Salesforce開発コーディング規約-目次.png"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-5053" src="https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Salesforce開発コーディング規約-目次.png" alt="" width="1094" height="754" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Salesforce開発コーディング規約-目次.png 1094w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Salesforce開発コーディング規約-目次-300x207.png 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Salesforce開発コーディング規約-目次-1024x706.png 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Salesforce開発コーディング規約-目次-768x529.png 768w" sizes="auto, (max-width: 1094px) 100vw, 1094px" /></a></p>
<h3>1.基本方針（可読性・保守性の重視）</h3>
<p class="whitespace-normal break-words">テンプレートでは、「可読性の優先」「保守性の確保」「Salesforce固有の考慮事項」の3つを基本方針として掲げています。これらの方針は、長期的な開発・運用を見据えた重要な指針となります。</p>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Salesforce開発コーディング規約-基本方針.png"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-5052" src="https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Salesforce開発コーディング規約-基本方針.png" alt="" width="1094" height="759" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Salesforce開発コーディング規約-基本方針.png 1094w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Salesforce開発コーディング規約-基本方針-300x208.png 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Salesforce開発コーディング規約-基本方針-1024x710.png 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Salesforce開発コーディング規約-基本方針-768x533.png 768w" sizes="auto, (max-width: 1094px) 100vw, 1094px" /></a></p>
<h3 class="text-lg font-bold text-text-100 mt-1 -mb-1.5">2.命名規則の統一</h3>
<p class="whitespace-normal break-words">クラス名、メソッド名、変数名、定数名それぞれに対して明確なルールを設定しています。例えば：</p>
<p class="whitespace-normal break-words"><strong>クラス名</strong>: PascalCaseで名詞または名詞句を使用</p>
<ul class="[&amp;:not(:last-child)_ul]:pb-1 [&amp;:not(:last-child)_ol]:pb-1 list-disc space-y-1.5 pl-7">
<li class="whitespace-normal break-words"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <code class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]">AccountService</code></li>
<li class="whitespace-normal break-words"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <code class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]">accService</code></li>
</ul>
<p class="whitespace-normal break-words"><strong>メソッド名</strong>: camelCaseで動詞または動詞句で開始</p>
<ul class="[&amp;:not(:last-child)_ul]:pb-1 [&amp;:not(:last-child)_ol]:pb-1 list-disc space-y-1.5 pl-7">
<li class="whitespace-normal break-words"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <code class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]">updateAccountStatus()</code></li>
<li class="whitespace-normal break-words"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <code class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]">update()</code></li>
</ul>
<h3 class="text-lg font-bold text-text-100 mt-1 -mb-1.5">3.コード構造とフォーマット</h3>
<p class="whitespace-normal break-words">一貫したインデント（4スペース）、適切な行の長さ（120文字以内）、効果的な空行の使用など、チーム全体で統一すべき基本的なフォーマットルールを定義しています。</p>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Salesforce開発コーディング規約-コード構造とフォーマット.png"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-5051" src="https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Salesforce開発コーディング規約-コード構造とフォーマット.png" alt="" width="1097" height="755" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Salesforce開発コーディング規約-コード構造とフォーマット.png 1097w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Salesforce開発コーディング規約-コード構造とフォーマット-300x206.png 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Salesforce開発コーディング規約-コード構造とフォーマット-1024x705.png 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Salesforce開発コーディング規約-コード構造とフォーマット-768x529.png 768w" sizes="auto, (max-width: 1097px) 100vw, 1097px" /></a></p>
<h3 class="text-lg font-bold text-text-100 mt-1 -mb-1.5">4.クラス設計のベストプラクティス</h3>
<p class="whitespace-normal break-words">クラス内の要素の配置順序（定数→静的変数→インスタンス変数→コンストラクタ→パブリックメソッド→プライベートメソッド）や、適切なアクセス修飾子の使用方法を明示しています。</p>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Salesforce開発コーディング規約-クラス設計.png"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-5055" src="https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Salesforce開発コーディング規約-クラス設計.png" alt="" width="1100" height="761" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Salesforce開発コーディング規約-クラス設計.png 1100w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Salesforce開発コーディング規約-クラス設計-300x208.png 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Salesforce開発コーディング規約-クラス設計-1024x708.png 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Salesforce開発コーディング規約-クラス設計-768x531.png 768w" sizes="auto, (max-width: 1100px) 100vw, 1100px" /></a></p>
<h3 class="text-lg font-bold text-text-100 mt-1 -mb-1.5">5.SOQL/DML操作の最適化</h3>
<p class="whitespace-normal break-words">Salesforce開発で最も重要な要素の一つであるデータベース操作について、パフォーマンスとガバナ制限を考慮したベストプラクティスを提供しています：</p>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Salesforce開発コーディング規約-SOQL操作.png"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-5057" src="https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Salesforce開発コーディング規約-SOQL操作.png" alt="" width="1096" height="759" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Salesforce開発コーディング規約-SOQL操作.png 1096w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Salesforce開発コーディング規約-SOQL操作-300x208.png 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Salesforce開発コーディング規約-SOQL操作-1024x709.png 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Salesforce開発コーディング規約-SOQL操作-768x532.png 768w" sizes="auto, (max-width: 1096px) 100vw, 1096px" /></a></p>
<ul class="[&amp;:not(:last-child)_ul]:pb-1 [&amp;:not(:last-child)_ol]:pb-1 list-disc space-y-1.5 pl-7">
<li class="whitespace-normal break-words">バルク処理の実装方法</li>
<li class="whitespace-normal break-words">効率的なSOQLクエリの書き方</li>
<li class="whitespace-normal break-words">Database クラスを使用した部分成功制御</li>
</ul>
<h3 class="text-lg font-bold text-text-100 mt-1 -mb-1.5">6.包括的なテスト戦略</h3>
<p class="whitespace-normal break-words">85%以上のテストカバレッジ達成を目標とし、ポジティブ・ネガティブ両方のテストケースを含む、実践的なテストクラス作成方法を解説しています。</p>
<p><a href="https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Salesforce開発コーディング規約-テストクラス.png"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-5058" src="https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Salesforce開発コーディング規約-テストクラス.png" alt="" width="1098" height="760" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Salesforce開発コーディング規約-テストクラス.png 1098w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Salesforce開発コーディング規約-テストクラス-300x208.png 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Salesforce開発コーディング規約-テストクラス-1024x709.png 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Salesforce開発コーディング規約-テストクラス-768x532.png 768w" sizes="auto, (max-width: 1098px) 100vw, 1098px" /></a></p>
<h2 class="text-xl font-bold text-text-100 mt-1 -mb-0.5">テンプレートの効果的な活用方法</h2>
<h3 class="text-lg font-bold text-text-100 mt-1 -mb-1.5">1. プロジェクト開始時の規約策定</h3>
<p class="whitespace-normal break-words">新しいSalesforceプロジェクトを開始する際、このテンプレートをベースとして、プロジェクト固有の要件に合わせてカスタマイズすることで、短時間で実用的なコーディング規約を策定できます。</p>
<p class="whitespace-normal break-words"><strong>活用手順</strong>：</p>
<ol class="[&amp;:not(:last-child)_ul]:pb-1 [&amp;:not(:last-child)_ol]:pb-1 list-decimal space-y-1.5 pl-7">
<li class="whitespace-normal break-words">テンプレートをダウンロードし、開発チーム全体で内容を確認</li>
<li class="whitespace-normal break-words">プロジェクトの特性に応じて、必要な項目を追加・修正</li>
<li class="whitespace-normal break-words">チーム内での合意形成とドキュメント化</li>
<li class="whitespace-normal break-words">開発環境への組み込み（IDE設定、CI/CDパイプライン）</li>
</ol>
<h3 class="text-lg font-bold text-text-100 mt-1 -mb-1.5">2. 既存プロジェクトの品質改善</h3>
<p class="whitespace-normal break-words">既に進行中のプロジェクトでも、段階的にコーディング規約を導入することで品質向上を図ることができます。</p>
<p class="whitespace-normal break-words"><strong>段階的導入のアプローチ</strong>：</p>
<ul class="[&amp;:not(:last-child)_ul]:pb-1 [&amp;:not(:last-child)_ol]:pb-1 list-disc space-y-1.5 pl-7">
<li class="whitespace-normal break-words"><strong>第1段階</strong>: 新規開発コードから規約適用開始</li>
<li class="whitespace-normal break-words"><strong>第2段階</strong>: 既存コードの修正時に規約に合わせてリファクタリング</li>
<li class="whitespace-normal break-words"><strong>第3段階</strong>: 重要なモジュールから順次全面的な規約適用</li>
</ul>
<h3 class="text-lg font-bold text-text-100 mt-1 -mb-1.5">3. コードレビューの効率化</h3>
<p class="whitespace-normal break-words">テンプレートに含まれるチェックリストを活用することで、コードレビューの観点が明確になり、見落としを防ぐことができます。</p>
<p class="whitespace-normal break-words"><strong>チェックリストの活用例</strong>：</p>
<ul class="[&amp;:not(:last-child)_ul]:pb-1 [&amp;:not(:last-child)_ol]:pb-1 list-disc space-y-1.5 pl-7">
<li class="whitespace-normal break-words">基本事項（命名規則、アクセス修飾子、フォーマット）</li>
<li class="whitespace-normal break-words">設計・構造（単一責任原則、メソッドサイズ、例外処理）</li>
<li class="whitespace-normal break-words">Salesforce固有（ガバナ制限、バルク処理、セキュリティ）</li>
<li class="whitespace-normal break-words">パフォーマンス（SOQLクエリ最適化、DML最適化）</li>
</ul>
<h3 class="text-lg font-bold text-text-100 mt-1 -mb-1.5">4. 新人教育・オンボーディング</h3>
<p class="whitespace-normal break-words">新しくチームに参加する開発者に対して、このテンプレートを教育資料として使用することで、Salesforce開発のベストプラクティスを効率的に伝えることができます。</p>
<h2 class="text-xl font-bold text-text-100 mt-1 -mb-0.5">実装時の注意点とコツ</h2>
<h3 class="text-lg font-bold text-text-100 mt-1 -mb-1.5">段階的な導入を心がける</h3>
<p class="whitespace-normal break-words">すべての規約を一度に導入しようとすると、開発チームに大きな負担をかけてしまいます。重要度の高い項目から順次導入し、チーム全体が慣れてから次の項目に進むことが重要です。</p>
<h3 class="text-lg font-bold text-text-100 mt-1 -mb-1.5">ツールを活用した自動化</h3>
<p class="whitespace-normal break-words">可能な限り、IDE（Salesforce CLI、VS Code）の設定やCI/CDパイプラインを活用して、規約チェックを自動化しましょう。手動でのチェックに頼りすぎると、継続が困難になります。</p>
<h3 class="text-lg font-bold text-text-100 mt-1 -mb-1.5">定期的な見直しと改善</h3>
<p class="whitespace-normal break-words">プロジェクトの進行に伴い、新たな課題や改善点が見つかることがあります。定期的に規約を見直し、チームの成長とプロジェクトの変化に応じてアップデートしていくことが大切です。</p>
<h2 class="text-xl font-bold text-text-100 mt-1 -mb-0.5">テンプレートに含まれる実践的なコード例</h2>
<p class="whitespace-normal break-words">このテンプレートの大きな特徴の一つは、豊富な実装例が含まれていることです。抽象的な説明だけでなく、具体的なコード例を通じて「良い例」と「悪い例」を明示しているため、開発者が実際のコーディング時に迷うことなく適用できます。</p>
<h3 class="text-lg font-bold text-text-100 mt-1 -mb-1.5">バルク処理の実装例</h3>
<div class="relative group/copy rounded-lg">
<div class="sticky opacity-0 group-hover/copy:opacity-100 top-2 py-2 h-12 w-0 float-right">
<div class="absolute right-0 h-8 px-2 items-center inline-flex">
<div class="relative"> </div>
</div>
</div>
<div class="text-text-500 text-xs p-3.5 pb-0">apex</div>
<div class="">
<pre class="code-block__code !my-0 !rounded-lg !text-sm !leading-relaxed"><code class="language-apex"><span class="token">// <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 良い例 - バルク処理対応</span>
<span class="token">public</span> <span class="token">void</span> <span class="token">updateAccountTypes</span><span class="token">(</span><span class="token">List</span><span class="token">&lt;</span><span class="token">Account</span><span class="token">&gt;</span> accounts<span class="token">,</span> <span class="token">String</span> newType<span class="token">)</span> <span class="token">{</span>
    <span class="token">List</span><span class="token">&lt;</span><span class="token">Account</span><span class="token">&gt;</span> accountsToUpdate <span class="token">=</span> <span class="token">new</span> <span class="token">List</span><span class="token">&lt;</span><span class="token">Account</span><span class="token">&gt;</span><span class="token">(</span><span class="token">)</span><span class="token">;</span>
    
    <span class="token">for</span> <span class="token">(</span><span class="token">Account</span> acc <span class="token">:</span> accounts<span class="token">)</span> <span class="token">{</span>
        <span class="token">if</span> <span class="token">(</span>acc<span class="token">.</span>Type <span class="token">!=</span> newType<span class="token">)</span> <span class="token">{</span>
            acc<span class="token">.</span>Type <span class="token">=</span> newType<span class="token">;</span>
            accountsToUpdate<span class="token">.</span><span class="token">add</span><span class="token">(</span>acc<span class="token">)</span><span class="token">;</span>
        <span class="token">}</span>
    <span class="token">}</span>
    
    <span class="token">if</span> <span class="token">(</span><span class="token">!</span>accountsToUpdate<span class="token">.</span><span class="token">isEmpty</span><span class="token">(</span><span class="token">)</span><span class="token">)</span> <span class="token">{</span>
        <span class="token">try</span> <span class="token">{</span>
            Database<span class="token">.</span><span class="token">update</span><span class="token">(</span>accountsToUpdate<span class="token">,</span> <span class="token">false</span><span class="token">)</span><span class="token">;</span>
        <span class="token">}</span> <span class="token">catch</span> <span class="token">(</span><span class="token">DmlException</span> e<span class="token">)</span> <span class="token">{</span>
            <span class="token">handleDmlException</span><span class="token">(</span>e<span class="token">)</span><span class="token">;</span>
        <span class="token">}</span>
    <span class="token">}</span>
<span class="token">}</span></code></pre>
</div>
</div>
<h3 class="text-lg font-bold text-text-100 mt-1 -mb-1.5">セキュリティを考慮した実装例</h3>
<div class="relative group/copy rounded-lg">
<div class="sticky opacity-0 group-hover/copy:opacity-100 top-2 py-2 h-12 w-0 float-right">
<div class="absolute right-0 h-8 px-2 items-center inline-flex">
<div class="relative"> </div>
</div>
</div>
<div class="text-text-500 text-xs p-3.5 pb-0">apex</div>
<div class="">
<pre class="code-block__code !my-0 !rounded-lg !text-sm !leading-relaxed"><code class="language-apex"><span class="token">// <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 良い例 - 権限チェック</span>
<span class="token">public</span> <span class="token">void</span> <span class="token">updateAccounts</span><span class="token">(</span><span class="token">List</span><span class="token">&lt;</span><span class="token">Account</span><span class="token">&gt;</span> accounts<span class="token">)</span> <span class="token">{</span>
    <span class="token">if</span> <span class="token">(</span><span class="token">!</span>Schema<span class="token">.</span>SObjectType<span class="token">.</span>Account<span class="token">.</span><span class="token">isUpdateable</span><span class="token">(</span><span class="token">)</span><span class="token">)</span> <span class="token">{</span>
        <span class="token">throw</span> <span class="token">new</span> <span class="token">SecurityException</span><span class="token">(</span><span class="token">'Insufficient privileges to update Account'</span><span class="token">)</span><span class="token">;</span>
    <span class="token">}</span>
    
    <span class="token">update</span> accounts<span class="token">;</span>
<span class="token">}</span></code></pre>
</div>
</div>
<h2 class="text-xl font-bold text-text-100 mt-1 -mb-0.5">継続的な品質向上のために</h2>
<p class="whitespace-normal break-words">コーディング規約の導入は、ゴールではなくスタートラインです。継続的に品質を向上させるために、以下の取り組みを推奨します：</p>
<h3 class="text-lg font-bold text-text-100 mt-1 -mb-1.5">定期的なコードレビュー会の実施</h3>
<p class="whitespace-normal break-words">チーム全体でコードレビューを行う時間を定期的に設け、規約の適用状況や新たな課題について議論します。</p>
<h3 class="text-lg font-bold text-text-100 mt-1 -mb-1.5">メトリクス測定と改善</h3>
<p class="whitespace-normal break-words">テストカバレッジ、複雑度、規約違反数などのメトリクスを測定し、定量的な改善を図ります。</p>
<h3 class="text-lg font-bold text-text-100 mt-1 -mb-1.5">知識共有とベストプラクティスの蓄積</h3>
<p class="whitespace-normal break-words">チーム内で発見されたベストプラクティスを規約に反映し、組織の知見として蓄積していきます。</p>
<h2 class="text-xl font-bold text-text-100 mt-1 -mb-0.5">まとめ</h2>
<p class="whitespace-normal break-words">今回公開したSalesforce Apexコーディング規約テンプレートは、実際の開発現場での経験を基に作成された実践的なドキュメントです。このテンプレートを活用することで、開発チームは以下のメリットを得ることができます：</p>
<ul class="[&amp;:not(:last-child)_ul]:pb-1 [&amp;:not(:last-child)_ol]:pb-1 list-disc space-y-1.5 pl-7">
<li class="whitespace-normal break-words"><strong>開発効率の向上</strong>: 統一されたコーディングスタイルにより、コードレビューや保守作業が効率化</li>
<li class="whitespace-normal break-words"><strong>品質の向上</strong>: Salesforce特有の制約を考慮したベストプラクティスにより、バグの削減と性能向上を実現</li>
<li class="whitespace-normal break-words"><strong>チーム力の強化</strong>: 共通の規約により、チーム内でのコミュニケーションと協力が促進</li>
<li class="whitespace-normal break-words"><strong>スケーラビリティの確保</strong>: 将来の機能拡張や保守作業に対応しやすいコード構造の実現</li>
</ul>
<p class="whitespace-normal break-words">Salesforce開発の品質向上を目指すすべてのチームに、このテンプレートを積極的に活用していただき、より良いシステム開発を実現していただければと思います。</p>
<h2>資料のダウンロード</h2>
<p class="whitespace-normal break-words">テンプレートのダウンロードは、Creative Content Lab Tokyoの公式サイトから無料で行えます。ぜひ、あなたのプロジェクトでもご活用ください。</p>
<p>資料のダウンロードおよびご利用に関しては、本サイトのコンテンツ利用規約に同意される場合のみ利用可能となります。</p>
<div class="cclt-compat-mybutton cclt-compat-mybutton--ref cclt-compat-mybutton--shadow"><a href="https://creativecontentlabtokyo.com/terms/" class="cclt-compat-mybutton__link" style="color:#fff;background-color:#e53935;border:1px solid #e57373;border-radius:5px;font-weight:bold;background:linear-gradient(#f44336,#e53935);" target="_blank" rel="noopener noreferrer">ダウンロード前に利用規約を必ずお読みください。</a></div>
<h3>一般公開資料</h3>
<p><span class="huto">開発コーディング規約のダウンロード</span></p>
<div class="cclt-compat-mybutton cclt-compat-mybutton--ref cclt-compat-mybutton--shadow"><a href="https://docs.google.com/uc?export=download&#038;id=1MKr_fuPEpPvA1MbUWaytvvELrIfLfO2u" class="cclt-compat-mybutton__link" style="color:#fff;background-color:#43A047;border:1px solid #81C784;border-radius:5px;font-weight:bold;font-size:bold;background:linear-gradient(#66BB6A,#43A047);" target="_blank" rel="noopener noreferrer">ダウンロード <i class="fa fa-angle-right"></i></a></div>
<p><strong>※クリックして資料のダウンロードが開始されるまで少し時間がかかる場合がありますので、そのままお待ちください。</strong></p>
<p><strong>もしダウンロードが開始されない場合、ブラウザでポップアップブロックされている可能性があるのでご確認ください。</strong></p>
<h2>最後に</h2>
<div class="cclt-compat-kaiwa cclt-compat-kaiwa--left"><div class="cclt-compat-kaiwa__icon"><img decoding="async" src="https://creativecontentlabtokyo.com/wp-content/uploads/2024/11/schooldays1.jpg" alt="サポーターさん" loading="lazy" /><span class="cclt-compat-kaiwa__name">サポーターさん</span></div><div class="cclt-compat-kaiwa__bubble" style="background-color:#f4f4e3;"><div class="cclt-compat-kaiwa__text">テンプレートのご利用に関して不明な点があればお問い合わせください。また、テンプレートに対しての要望がありましたらご意見ください。 皆様の役に立つように改善していきたいと思います。</div></div></div>
<div class="cclt-compat-kaiwa cclt-compat-kaiwa--left"><div class="cclt-compat-kaiwa__icon"><img decoding="async" src="https://creativecontentlabtokyo.com/wp-content/uploads/2024/11/schooldays1.jpg" alt="サポーターさん" loading="lazy" /><span class="cclt-compat-kaiwa__name">サポーターさん</span></div><div class="cclt-compat-kaiwa__bubble" style="background-color:#f4f4e3;"><div class="cclt-compat-kaiwa__text">ブログランキングに参加しましたので、ご支援していただけると幸いです。</div></div></div>
<p><a href="https://it.blogmura.com/ranking/in?p_cid=11084904" target="_blank" rel="noopener noreferrer"><img loading="lazy" decoding="async" src="https://b.blogmura.com/banner-blogmura-portfolio.svg" alt="にほんブログ村 IT技術ブログへ" width="88" height="31" border="0" /></a><br /><a href="https://it.blogmura.com/ranking/in?p_cid=11084904" rel="noopener">にほんブログ村</a></p>
		<div class="wpulike wpulike-animated-heart " ><div class="wp_ulike_general_class wp_ulike_is_restricted"><button type="button"
					aria-label="いいねボタン"
					data-ulike-id="5045"
					data-ulike-nonce="6a8d38f923"
					data-ulike-type="post"
					data-ulike-template="wpulike-animated-heart"
					data-ulike-display-likers=""
					data-ulike-likers-style="popover"
					data-ulike-append="&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop one&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop two&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop three&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop four&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop five&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop six&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop seven&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop eight&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop nine&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;"
					class="wp_ulike_btn wp_ulike_put_image wp_post_btn_5045"><svg class="wpulike-svg-heart wpulike-svg-heart-icon" viewBox="0 -28 512.00002 512" xmlns="http://www.w3.org/2000/svg"><path
						d="m471.382812 44.578125c-26.503906-28.746094-62.871093-44.578125-102.410156-44.578125-29.554687 0-56.621094 9.34375-80.449218 27.769531-12.023438 9.300781-22.917969 20.679688-32.523438 33.960938-9.601562-13.277344-20.5-24.660157-32.527344-33.960938-23.824218-18.425781-50.890625-27.769531-80.445312-27.769531-39.539063 0-75.910156 15.832031-102.414063 44.578125-26.1875 28.410156-40.613281 67.222656-40.613281 109.292969 0 43.300781 16.136719 82.9375 50.78125 124.742187 30.992188 37.394531 75.535156 75.355469 127.117188 119.3125 17.613281 15.011719 37.578124 32.027344 58.308593 50.152344 5.476563 4.796875 12.503907 7.4375 19.792969 7.4375 7.285156 0 14.316406-2.640625 19.785156-7.429687 20.730469-18.128907 40.707032-35.152344 58.328125-50.171876 51.574219-43.949218 96.117188-81.90625 127.109375-119.304687 34.644532-41.800781 50.777344-81.4375 50.777344-124.742187 0-42.066407-14.425781-80.878907-40.617188-109.289063zm0 0" /></svg></button><span class="count-box wp_ulike_counter_up" data-ulike-counter-value="+1"></span>			</div></div>
	]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
