Presentations/DMS: Difference between revisions

From HeatSync Labs Wiki
Jump to navigation Jump to search
en>ScottyB
(Created page with '= Developing Maintainable Software = This page is a place holder for a future Thursday Night Presentation. You really shouldn't read this, yet. Here are some initial ideas fo…')
 
m (3 revisions imported)
 
(2 intermediate revisions by one other user not shown)
Line 2: Line 2:
This page is a place holder for a future Thursday Night Presentation.
This page is a place holder for a future Thursday Night Presentation.


You really shouldn't read this, yet.
'''You really shouldn't read this, yet.'''
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 




Line 31: Line 88:
** avoid setting default values, have the compiler tell you when a garbage value might get used (this is a defect)
** avoid setting default values, have the compiler tell you when a garbage value might get used (this is a defect)
** avoid default in switches
** avoid default in switches
* if/else -- smaller goes near the test

Latest revision as of 20:30, 30 March 2024

Developing Maintainable Software

This page is a place holder for a future Thursday Night Presentation.

You really shouldn't read this, yet.































Here are some initial ideas for topics:

  • Finding defects early means less overall effort
    • language selection (e.g. c++ vs objective-C, scripted languages vs compiled languages)
    • compiler options (strong typing, ZERO warnings, etc)
      • examples: SQLite
      • anecdote: turning on warnings and forcing errors: found latent defects, forced co-workers to write better (i.e. NON sloppy) code
  • style
    • pretty printers
    • stupid IDEs (e.g. tabs, line endings, etc)
  • #defines vs inlines and debugging
  • Hungarian Notation
  • parent keyword for classes
  • pass by reference vs pass by address, const references
  • use const!
  • stdint.h
  • boost libraries
  • stl
  • consistency of style (again? so soon?)
  • modularize, make code manageable. There should be a limit to the number of lines in a given file.
  • function size: fit on a screen.
  • document / doxygen is it.
  • let the compiler find problems:
    • typing
    • avoid setting default values, have the compiler tell you when a garbage value might get used (this is a defect)
    • avoid default in switches
  • if/else -- smaller goes near the test