[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