[Phoenix-commits] rev 13140 - in public/phoenix: . deliverables/design

andi at wyona.com andi at wyona.com
Mon May 8 18:49:22 CEST 2006


Author: andi
Date: 2006-05-08 18:49:18 +0200 (Mon, 08 May 2006)
New Revision: 13140

Modified:
   public/phoenix/deliverables/design/development_policy.db
   public/phoenix/deliverables/design/development_policy.xhtml
   public/phoenix/deliverables/design/development_policy.xml
   public/phoenix/index.html
Log:
Extended the development policy. Minor rewording in index.html.


Modified: public/phoenix/deliverables/design/development_policy.db
===================================================================
--- public/phoenix/deliverables/design/development_policy.db	2006-05-08 16:40:30 UTC (rev 13139)
+++ public/phoenix/deliverables/design/development_policy.db	2006-05-08 16:49:18 UTC (rev 13140)
@@ -2,10 +2,22 @@
   <ttl>Phoenix Development Policy</ttl>
   <xreftext>Phoenix Development Policy</xreftext>
   <div element="section" href="development_policy.xhtml#id342752" number="1">
-    <ttl>Development Methodology</ttl>
-    <xreftext>Section 1, “Development Methodology”</xreftext>
+    <ttl>Development Rules</ttl>
+    <xreftext>Section 1, “Development Rules”</xreftext>
+    <div element="section" href="development_policy.xhtml#id342758" number="1.1">
+      <ttl>Methodology</ttl>
+      <xreftext>Section 1.1, “Methodology”</xreftext>
+    </div>
+    <div element="section" href="development_policy.xhtml#id342783" number="1.2">
+      <ttl>Coding Style</ttl>
+      <xreftext>Section 1.2, “Coding Style”</xreftext>
+    </div>
+    <div element="section" href="development_policy.xhtml#id342815" number="1.3">
+      <ttl>Coding Practices</ttl>
+      <xreftext>Section 1.3, “Coding Practices”</xreftext>
+    </div>
   </div>
-  <div element="section" href="development_policy.xhtml#id342778" number="2">
+  <div element="section" href="development_policy.xhtml#id342977" number="2">
     <ttl>Directory Structure</ttl>
     <xreftext>Section 2, “Directory Structure”</xreftext>
     <obj element="co" href="development_policy.xhtml#co.mozilla" number="" targetptr="co.mozilla">

Modified: public/phoenix/deliverables/design/development_policy.xhtml
===================================================================
--- public/phoenix/deliverables/design/development_policy.xhtml	2006-05-08 16:40:30 UTC (rev 13139)
+++ public/phoenix/deliverables/design/development_policy.xhtml	2006-05-08 16:49:18 UTC (rev 13140)
@@ -64,12 +64,31 @@
         <dl>
           <dt>
             <span class="section">
-              <a href="#id342753">1. Development Methodology</a>
+              <a href="#id342753">1. Development Rules</a>
             </span>
           </dt>
+          <dd>
+            <dl>
+              <dt>
+                <span class="section">
+                  <a href="#id342758">1.1. Methodology</a>
+                </span>
+              </dt>
+              <dt>
+                <span class="section">
+                  <a href="#id342784">1.2. Coding Style</a>
+                </span>
+              </dt>
+              <dt>
+                <span class="section">
+                  <a href="#id342815">1.3. Coding Practices</a>
+                </span>
+              </dt>
+            </dl>
+          </dd>
           <dt>
             <span class="section">
-              <a href="#id342778">2. Directory Structure</a>
+              <a href="#id342977">2. Directory Structure</a>
             </span>
           </dt>
           <dt>
@@ -83,22 +102,144 @@
         <div class="titlepage">
           <div>
             <div>
-              <h2 class="title"><a id="id342753"/>1. Development Methodology</h2>
+              <h2 class="title"><a id="id342753"/>1. Development Rules</h2>
             </div>
           </div>
         </div>
-        <p>
-      The development of Phoenix is test-driven. CppUnit is employed as the testing frame work. Additionally, we use a sub-set of Design-by-Contract, namely pre- and postconditions, to ensure correctness.
-    </p>
-        <p>
-      Before implementing a new part of the interface, first write a fixture with CppUnit, and afterwards write the actual business logic. Pre- and postconditions are define in the interface files themselves, and must be implemented in the actual implementation using <code class="code">assert</code> statements. Remember that preconditions can only get weaker in subclasses, and postconditions accordingly can only get stronger.
-    </p>
+        <div class="section" lang="en">
+          <div class="titlepage">
+            <div>
+              <div>
+                <h3 class="title"><a id="id342758"/>1.1. Methodology</h3>
+              </div>
+            </div>
+          </div>
+          <p>
+        The development of Phoenix is test-driven. CppUnit is employed as the testing frame work. Additionally, we use a sub-set of Design-by-Contract, namely pre- and postconditions, to ensure correctness.
+      </p>
+          <p>
+        Before implementing a new part of the interface, first write a fixture with CppUnit, and afterwards write the actual business logic. Pre- and postconditions are define in the interface files themselves, and must be implemented in the actual implementation using <code class="code">assert</code> statements. Remember that preconditions can only get weaker in subclasses, and postconditions accordingly can only get stronger.
+      </p>
+        </div>
+        <div class="section" lang="en">
+          <div class="titlepage">
+            <div>
+              <div>
+                <h3 class="title"><a id="id342784"/>1.2. Coding Style</h3>
+              </div>
+            </div>
+          </div>
+          <div class="itemizedlist">
+            <ul>
+              <li>
+                <p><b>C++/Java/JavaScript. </b>
+            Use a tab with of 4 spaces. No tabs allowed.
+          </p>
+              </li>
+              <li>
+                <p><b>XML. </b>
+            Use a tab with of 2 spaces. No tabs allowed.
+          </p>
+              </li>
+            </ul>
+          </div>
+        </div>
+        <div class="section" lang="en">
+          <div class="titlepage">
+            <div>
+              <div>
+                <h3 class="title"><a id="id342815"/>1.3. Coding Practices</h3>
+              </div>
+            </div>
+          </div>
+          <div class="itemizedlist">
+            <ul>
+              <li>
+                <p>
+                  <b>C++. </b>
+                </p>
+                <div class="itemizedlist">
+                  <ul>
+                    <li>
+                      <p>
+                  Do not use exceptions. They are not portable.
+                </p>
+                    </li>
+                    <li>
+                      <p>
+                  For further rules, see <a href="http://www.mozilla.org/hacking/mozilla-style-guide.html">Mozilla Style Guide</a> and the <a href="http://www.mozilla.org/hacking/portable-cpp.html">C++ Portability Guide</a>. They are normative for Phoenix.
+                </p>
+                    </li>
+                    <li>
+                      <p>
+                  Use the licensing templates from <a href="http://www.mozilla.org/MPL/boilerplate-1.1/">http://www.mozilla.org/MPL/boilerplate-1.1/</a>.
+                </p>
+                    </li>
+                  </ul>
+                </div>
+              </li>
+              <li>
+                <p>
+                  <b>Java. </b>
+                </p>
+                <div class="itemizedlist">
+                  <ul>
+                    <li>
+                      <p>
+                  Use camelNotation.
+                </p>
+                    </li>
+                    <li>
+                      <p>
+                  Use the licensing templates from <a href="http://www.mozilla.org/MPL/boilerplate-1.1/">http://www.mozilla.org/MPL/boilerplate-1.1/</a>.
+                </p>
+                    </li>
+                  </ul>
+                </div>
+              </li>
+              <li>
+                <p>
+                  <b>JavaScript. </b>
+                </p>
+                <div class="itemizedlist">
+                  <ul>
+                    <li>
+                      <p>
+                  Use camelNotation.
+                </p>
+                    </li>
+                    <li>
+                      <p>
+                  Prefix formal parameters with "<code class="code">a</code>".
+                </p>
+                    </li>
+                    <li>
+                      <p>
+                  Prefix globals with "<code class="code">g</code>".
+                </p>
+                    </li>
+                    <li>
+                      <p>
+                  Use Java-style constants (all CAPS with underscores).
+                </p>
+                    </li>
+                    <li>
+                      <p>
+                  Use the licensing templates from <a href="http://www.mozilla.org/MPL/boilerplate-1.1/">http://www.mozilla.org/MPL/boilerplate-1.1/</a>.
+                </p>
+                    </li>
+                  </ul>
+                </div>
+              </li>
+            </ul>
+          </div>
+        </div>
       </div>
       <div class="section" lang="en">
         <div class="titlepage">
           <div>
             <div>
-              <h2 class="title"><a id="id342778"/>2. Directory Structure</h2>
+              <h2 class="title"><a id="id342977"/>2. Directory Structure</h2>
             </div>
           </div>
         </div>

Modified: public/phoenix/deliverables/design/development_policy.xml
===================================================================
--- public/phoenix/deliverables/design/development_policy.xml	2006-05-08 16:40:30 UTC (rev 13139)
+++ public/phoenix/deliverables/design/development_policy.xml	2006-05-08 16:49:18 UTC (rev 13140)
@@ -38,13 +38,109 @@
   </articleinfo>
 
   <section>
-    <title>Development Methodology</title>
-    <para>
-      The development of &project; is test-driven. CppUnit is employed as the testing frame work. Additionally, we use a sub-set of Design-by-Contract, namely pre- and postconditions, to ensure correctness.
-    </para>
-    <para>
-      Before implementing a new part of the interface, first write a fixture with CppUnit, and afterwards write the actual business logic. Pre- and postconditions are define in the interface files themselves, and must be implemented in the actual implementation using <code>assert</code> statements. Remember that preconditions can only get weaker in subclasses, and postconditions accordingly can only get stronger.
-    </para>
+    <title>Development Rules</title>
+    <section>
+      <title>Methodology</title>
+      <para>
+        The development of &project; is test-driven. CppUnit is employed as the testing frame work. Additionally, we use a sub-set of Design-by-Contract, namely pre- and postconditions, to ensure correctness.
+      </para>
+      <para>
+        Before implementing a new part of the interface, first write a fixture with CppUnit, and afterwards write the actual business logic. Pre- and postconditions are define in the interface files themselves, and must be implemented in the actual implementation using <code>assert</code> statements. Remember that preconditions can only get weaker in subclasses, and postconditions accordingly can only get stronger.
+      </para>
+    </section>
+    <section>
+      <title>Coding Style</title>
+      <itemizedlist>
+        <listitem>
+          <formalpara>
+            <title>C++/Java/JavaScript</title>
+            Use a tab with of 4 spaces. No tabs allowed.
+          </formalpara>
+        </listitem>
+        <listitem>
+          <formalpara>
+            <title>XML</title>
+            Use a tab with of 2 spaces. No tabs allowed.
+          </formalpara>
+        </listitem>
+      </itemizedlist>
+    </section>
+    <section>
+      <title>Coding Practices</title>
+      <itemizedlist>
+        <listitem>
+          <formalpara>
+            <title>C++</title>
+            <itemizedlist>
+              <listitem>
+                <para>
+                  Do not use exceptions. They are not portable.
+                </para>
+              </listitem>
+              <listitem>
+                <para>
+                  For further rules, see <ulink url="http://www.mozilla.org/hacking/mozilla-style-guide.html">Mozilla Style Guide</ulink> and the <ulink url="http://www.mozilla.org/hacking/portable-cpp.html">C++ Portability Guide</ulink>. They are normative for &project;.
+                </para>
+              </listitem>
+              <listitem>
+                <para>
+                  Use the licensing templates from <ulink url="http://www.mozilla.org/MPL/boilerplate-1.1/">http://www.mozilla.org/MPL/boilerplate-1.1/</ulink>.
+                </para>
+              </listitem>
+            </itemizedlist>
+          </formalpara>
+        </listitem>
+        <listitem>
+          <formalpara>
+            <title>Java</title>
+            <itemizedlist>
+              <listitem>
+                <para>
+                  Use camelNotation.
+                </para>
+              </listitem>
+              <listitem>
+                <para>
+                  Use the licensing templates from <ulink url="http://www.mozilla.org/MPL/boilerplate-1.1/">http://www.mozilla.org/MPL/boilerplate-1.1/</ulink>.
+                </para>
+              </listitem>
+            </itemizedlist>
+          </formalpara>
+        </listitem>
+        <listitem>
+          <formalpara>
+            <title>JavaScript</title>
+            <itemizedlist>
+              <listitem>
+                <para>
+                  Use camelNotation.
+                </para>
+              </listitem>
+              <listitem>
+                <para>
+                  Prefix formal parameters with "<code>a</code>".
+                </para>
+              </listitem>
+              <listitem>
+                <para>
+                  Prefix globals with "<code>g</code>".
+                </para>
+              </listitem>
+              <listitem>
+                <para>
+                  Use Java-style constants (all CAPS with underscores).
+                </para>
+              </listitem>
+              <listitem>
+                <para>
+                  Use the licensing templates from <ulink url="http://www.mozilla.org/MPL/boilerplate-1.1/">http://www.mozilla.org/MPL/boilerplate-1.1/</ulink>.
+                </para>
+              </listitem>
+            </itemizedlist>
+          </formalpara>
+        </listitem>
+      </itemizedlist>
+    </section>
   </section>
 
   <section>

Modified: public/phoenix/index.html
===================================================================
--- public/phoenix/index.html	2006-05-08 16:40:30 UTC (rev 13139)
+++ public/phoenix/index.html	2006-05-08 16:49:18 UTC (rev 13140)
@@ -20,7 +20,7 @@
   <dt><a href="deliverables/planning/roadmap.xhtml">Roadmap</a></dt>
   <dd>The timeline.</dd>
   <dt><a href="deliverables/design/development_policy.xhtml">Development Policy</a></dt>
-  <dd>Programming paradigms, directory structure and build documentation.</dd>
+  <dd>Programming paradigms, coding rules, directory structure and build documentation.</dd>
 </dl>
 
 <h3>Subversion</h3>




More information about the Phoenix-commits mailing list