Page 216 - The Art of Designing Embedded Systems
P. 216

A                              Standards


                        Monual
















                        Every day we make a choice: create firmware in a consistent, repeat-
                   able way, or just crank out code as whim dictates. Though it is possible to
                   build successful products using chaotic and ill-disciplined methods, two
                   generations of research shows that ad hoc development ultimately results
                   in poor code delivered late.
                        No firmware organization can seriously consider itself “professional”
                   unless it has a set of standards to which all code is held. Those standards
                   must be in writing and absolutely clear. Developers must buy into the con-
                   cept of using standards-or be retrained or replaced. Period. Code inspec-
                   tions insure every bit of software is audited to the standard.
                        Use  the  following  standard  intact,  or  modify  it  to  suit  your  re-
                   quirements.  Feel  free to download the  machine-readable  version  from
                   www.ganssle.com/ades/fsm. html.

                        Scope

                        This document defines the standard way all programmers will create
                   embedded firmware. Every programmer is expected to be intimately fa-
                   miliar with the Standard, and to understand and accept these requirements.
                   All consultants and contractors will also adhere to this Standard.
                        The  reason  for  the  Standard  is  to  insure all  company-developed
                   firmware  meets  minimum  levels  of  readability  and  maintainability.
                   Source code has  two equally  important  functions:  it must  work, and  it
                   must clearly communicate how it works to a future programmer  or the



                                                                                203
   211   212   213   214   215   216   217   218   219   220   221