Design By Contract - sgml/signature GitHub Wiki

Technical Documentation, Featuritis and Document Sprawl

Dimension WHATWG HTML Living Standard RFC Process Post-Document Culture
Scalability Model Continuous integration of spec updates; no versioned snapshots Versioned proposals with feedback cycles Narrative-driven, modular, often Git-backed
Documentation Style Living spec in HTML format, updated via GitHub Structured markdown or text proposals Structured memos, markdown, or metadata-rich formats
Governance Model Maintained by browser vendors (Apple, Google, Mozilla, Microsoft) Community-driven, often with formal review boards Organizational or cultural, often decentralized
Versioning No fixed versions; always current Explicit versioning (e.g., RFC 8785) Git-based or memo-based version control (Amazon 6-Pager)
Failure Modes Risk of vendor dominance or lack of transparency Risk of stagnation or siloed knowledge Risk of fragmentation or lack of formal structure
Canonical Example HTML Living Standard RFC 8785: JSON Canonicalization Scheme Amazon Six-Pager Template

Quotables

“The concept of a living standard is that it is never complete and is always being updated and improved. New features can be added but functionality will not be removed.”
WHATWG HTML Living Standard

“RFCs are living documents that drive alignment across teams, create clarity, and provide a roadmap for implementation… Scalability: Creates a repeatable process that scales as the organization grows.”
PointFive Engineering Blog

“Instead of using PowerPoint, Amazon executives sit around a table and read six-page memos in silence. This strategy allows a company’s executives to discuss the idea and review the details after reading the memo.”
Forbes on Amazon’s Six-Page Memo Format

creating a separate class for each database table the problem simply goes away

  • "Tony Marston on OOP"

Each task consists of a Controller which calls a Model which in turn calls a DAO to update the database. So for each use case you need to identify exactly what database operations are needed to achieve the desired result.

  • "Tony Marston on OOP"

References

http://wiki.c2.com/?DesignByContractVsProgrammerTests

http://sett.ociweb.com/sett/settSep2011.html

https://news.ycombinator.com/item?id=7353767

https://www.eiffel.org/doc/eiffel/Examples

https://stackoverflow.com/questions/481312/why-is-design-by-contract-not-so-popular-compared-to-test-driven-development

http://se.inf.ethz.ch/people/ciupa/papers/esecfse07.pdf

http://se.ethz.ch/~meyer/publications/lncs/model_library.pdf

https://news.ycombinator.com/item?id=15384351

http://www.math.md/files/csjm/v25-n1/v25-n1-(pp44-74).pdf

https://www.bbv.ch/images/bbv/pdf/downloads/V2_Clean_Code_V3.pdf

http://prr.hec.gov.pk/jspui/bitstream/123456789/7454/1/wafa.basit.phd.thesis.pdf

https://gleichmann.wordpress.com/2007/12/09/test-driven-development-and-design-by-contract-friend-or-foe/