From 5f8de423f190bbb79a62f804151bc24824fa32d8 Mon Sep 17 00:00:00 2001 From: "Matt A. Tobin" Date: Fri, 2 Feb 2018 04:16:08 -0500 Subject: Add m-esr52 at 52.6.0 --- layout/doc/dd-template.html | 116 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 116 insertions(+) create mode 100644 layout/doc/dd-template.html (limited to 'layout/doc/dd-template.html') diff --git a/layout/doc/dd-template.html b/layout/doc/dd-template.html new file mode 100644 index 000000000..03903ed86 --- /dev/null +++ b/layout/doc/dd-template.html @@ -0,0 +1,116 @@ + + + + + + + + Layout Detailed Design Template + + + + +

Gecko Layout Detailed Design Document Template

+ [Use this template to start your detailed design. Replace items in square + brackets with the appropriate text for your component, class or system.  Keep + in mind that this is just a general template intended for most designs. +Your specific design may require different organization or topics - the +goal is to provide detailed information about the software to the reader.]
+
+ +

[Component / Class Name] Detailed Design

+ +

Overview

+ [Introduce the scope of this design document: what is being documented here. +Provide a reference back to the High Level design(s) that correspond.]
+ +
+

[Class / Component A]

+ [Briefly refresh the reader with the purpose of the class or component. +Provide enough information to make accessible the following sections on the +public API, private methods and members, and algorithms. Bring up and tricky +or otherwise interesting relationships that will be detailed.]
+
+ +

Public API

+ [Show the public API for the component, as IDL, C++ header file, or as a +pseudo-code description.  If using a source file, the comments in the +source file should cover most of the detail needed. If they do not, then add +that detail there.  See the Overview document for more details on the +scope of information that should be presented.]
+ +

Protected API

+ [If there is a protected API, list the methods and members and indicate +the responsibilities of the callers with respect o calling the base class, +enforcing base class invariants, etc.]
+
+ +

Implementation Notes

+ [The nasty details of the implementation get exposed here. This section +can be broken down into subsections as necessary, and should include details +of particularly important algorithms, performance characteristics or constraints, +memory usage, tricky ownership issues, and anything else that would make understanding +the implementation easier for the reader.]
+ +

Algorithms

+ +
[Interesting Algorithm 1: The internally maintained sorted list]
+ [explain the nature of the algorithm, the reason it was chosen, the types +of input it is expected to operate on, etc. Annotated pseudo-code is a good +idea here, but actual code is often too detailed to b of much use by itself. +It the actual code is sufficient to understand it, then this subsection is +probably not needed.]
+ +
[Interesting Algorithm 2: Handling overflow of the input buffer]
+ [your description here]
+ +

+ +
+

[Class / Component B]

+ [Repeat the structure for the next class or component.]
+
+ +
+

Cross-Component Algorithms

+ [specify the details of algorithms that cross a single component. refer +to each component, describe the flow of control, the responsibilities of each +component along the way, the error handling, the state-management if any, +and the expected results for a given input. Generally each of these algorithms +gets its own subsection.]
+ +

[Turning a byte-stream into a fully parsed token-tree]

+ [Detailed description, pesudo-code, state transitions, etc.]
+ +

[Managing updates to the document]

+ [Detailed description, pesudo-code, state transitions, etc.]
+
+ +
+

Tech Notes

+ [This section contains links to tech notes related to the implementations +covered in this design.  Tech Notes tend to be extremely specific, often +recipes for how to do something or how to fix a class of defects.  If +the tech note is more general, it may be a good idea to move it into the Detailed +design itself.]
+ + +
+ + + -- cgit v1.2.3