Chris Donnan : Programming - Brooklyn Style
software, trading, family, fun
Posted books, programming on Sunday, June 3rd, 2007.
I have been reading: Refactoring in Large Software Projects: Performing Complex Restructurings Successfully. Along with the WELC book, an excellent book for the REALITY of day to day programming. How do we continue to write testable code, have emergent architecture, manage complex software day to day…
The RLSP:PCRS book (fun with/ death by acronym) book has a GREAT listing. The original list for me was the “robert martin list”, then - core developer values, I needed to add TDA and a few others. I never put as nice and complete actual list as the book contains … the list is:
DRY - Don’t Repeat Yourself
SCP - Speaking Code Principle
OCP - Open Closed Principle
LSP - Liskov Substitution Principle
DIP -Dependency Inversion Principle
ISP - Interface Segregation Principle
REP -Reuse/ Release Equivalency Principle
CRP - Common Reuse Principle
CCP -Common Closure Principle
ADP -Acyclic Dependencies Principle
SDP - Stable Dependencies Principle
SAP - Stable Abstractions Principle
TDA - Tell Don’t Ask (LOD mentioned as well)
SOC - Separation of Concerns
Maybe I will embellish, but you can certainly google ALL of these - THESE are the code developer principles of of good OO software development IMHO.
Go - read - enjoy
-Chris
Â
No Responses to “Refactoring in Large Software Projects: Performing Complex Restructurings Successfully”
Comment on this post below
You must be logged in to post a comment.
You can leave a response, or trackback from your own site.
















[...] In my reading of Refactoring in Large Software Projects: Performing Complex Restructurings Successfully - I have been thinking about how to look at some of the dependencies we are dealing with in one of our frameworks. The framework has been widely used - and successful. It is however very monolithic in its solution structure. I will say - much of it has been well done by smart folks. That said, we still need to start to get to a model where we have a “core” and some ala carte add-ons, as opposed to a monolithic model so we can deal with some elements with different levels of volatility. In any case - that book, talks a lot about subsystem and package dependencies. Robert Martin’s writings (as well as some other folks from ObjectMentor) talk quite a bit about dependency management between parts of applications. [...]