[CSUSB]>> [CNS]>> [CSE]>> [R J Botting]>> biba.php
Bibliographic Item (1.0)
- Jim Shore
- Continuous Design
- IEEE Software Magazine V21n1(Jan/Feb 2004)pp20-22
- =ANECDOTE AGILE CODE EVOLUTIONARY EMERGENT DESIGN
- Continuously take advantage of opportunities to improve code.
- Feature by feature: develop, test, refactor -> design.
- Three hard (cross cutting) problems: security, transaction processing, Internationalization.
- Good code makes it easier to distribute a crosscutting concern.
- DRY: Don't Repeat Yourself.
- Explicit code: says what it is for with few if any comments.
- Simple but not simplistic.
- Specific solutions are better than generic ones.
- Isolate third party code behind a common interface.
- YAGNI: don't code for future needs -- yet.
- No hooks: Unless needed now, avoid interfaces, factory methods, even handling and things to extensibility.
- Security: pass around status objects and check them near the system boundaries.
- Transactions: easy because there was a Connection object that executed code black sent from other objects. A DRYer design.
- Internationalization: Input and out put was already (DRY) centralized. Better because a generic HTML framework was not in the way.
- .Net can force duplicated code. duplication leads to tedious work.
- Fixing a misconceived preconception can be more expensive than ding Just In Time.
- One size does not fit all: continuous design needs automated tests, team ownership of code, and commitment.
Search for bibliographic items containing a matching string.
Search for a specific bibliographic item by name.
To see the complete bibliography (1Mb+) select:[Bibliography]