Click here to Skip to main content
15,894,460 members
Home / Discussions / Design and Architecture
   

Design and Architecture

 
AnswerRe: Function Extraction \ Refactoring Pin
peterchen10-May-08 23:02
peterchen10-May-08 23:02 
To add to the previous two posts:

http://c2.com/cgi/wiki?RuleOfThree[^]

Before reading the associated discussions, I would have said "two". But now... as a rule of thumb, it can help to balance Copy+Paste vs. premature generalization.

My experience shows that generalizing something requires a much more complex contract, you have to clearly define error handling and odd cases that don't even occur in the two simple instances. Thus the generalized implementation (including it's contract, documentation requirements etc.) may well be more complex than the sum of the two simple instances.

So maybe make a guess at the "Total Cost of Ownership" plus cost of "acquisition of the shared implementation".

We are a big screwed up dysfunctional psychotic happy family - some more screwed up, others more happy, but everybody's psychotic joint venture definition of CP
blog: TDD - the Aha! | Linkify!| FoldWithUs! | sighist


GeneralObject Oriented Data Marshalling Pin
Adam Jasper29-Apr-08 3:37
Adam Jasper29-Apr-08 3:37 
GeneralRe: Object Oriented Data Marshalling Pin
R. Giskard Reventlov29-Apr-08 21:40
R. Giskard Reventlov29-Apr-08 21:40 
GeneralRe: Object Oriented Data Marshalling Pin
Adam Jasper29-Apr-08 22:34
Adam Jasper29-Apr-08 22:34 
GeneralRe: Object Oriented Data Marshalling Pin
led mike30-Apr-08 4:24
led mike30-Apr-08 4:24 
GeneralRe: Object Oriented Data Marshalling Pin
Adam Jasper30-Apr-08 4:32
Adam Jasper30-Apr-08 4:32 
GeneralRe: Object Oriented Data Marshalling Pin
led mike30-Apr-08 5:04
led mike30-Apr-08 5:04 
GeneralRe: Object Oriented Data Marshalling Pin
Adam Jasper30-Apr-08 5:38
Adam Jasper30-Apr-08 5:38 
GeneralRe: Object Oriented Data Marshalling Pin
led mike30-Apr-08 7:31
led mike30-Apr-08 7:31 
GeneralRe: Object Oriented Data Marshalling Pin
Adam Jasper30-Apr-08 23:01
Adam Jasper30-Apr-08 23:01 
GeneralRe: Object Oriented Data Marshalling Pin
R. Giskard Reventlov30-Apr-08 4:32
R. Giskard Reventlov30-Apr-08 4:32 
GeneralRe: Object Oriented Data Marshalling Pin
led mike30-Apr-08 4:52
led mike30-Apr-08 4:52 
GeneralRe: Object Oriented Data Marshalling Pin
R. Giskard Reventlov30-Apr-08 21:16
R. Giskard Reventlov30-Apr-08 21:16 
GeneralRe: Object Oriented Data Marshalling Pin
Leslie Sanford8-May-08 18:23
Leslie Sanford8-May-08 18:23 
GeneralRe: Object Oriented Data Marshalling Pin
Adam Jasper8-May-08 22:11
Adam Jasper8-May-08 22:11 
GeneralRe: Object Oriented Data Marshalling Pin
Leslie Sanford9-May-08 6:31
Leslie Sanford9-May-08 6:31 
GeneralRe: Object Oriented Data Marshalling Pin
Adam Jasper11-May-08 23:39
Adam Jasper11-May-08 23:39 
GeneralNeed suggestion Pin
Cryptogrpahy29-Apr-08 1:41
Cryptogrpahy29-Apr-08 1:41 
GeneralRe: Need suggestion Pin
Member 9630-Apr-08 6:25
Member 9630-Apr-08 6:25 
GeneralRe: Need suggestion Pin
Cryptogrpahy30-Apr-08 6:37
Cryptogrpahy30-Apr-08 6:37 
GeneralRe: Need suggestion Pin
Member 9630-Apr-08 7:03
Member 9630-Apr-08 7:03 
GeneralRe: Need suggestion Pin
Mark Churchill1-May-08 17:20
Mark Churchill1-May-08 17:20 
GeneralNeed suggestions to define architecture Pin
pranabdas25-Apr-08 9:11
pranabdas25-Apr-08 9:11 
QuestionRequirements gathering tools Pin
Pawel Krakowiak24-Apr-08 4:49
Pawel Krakowiak24-Apr-08 4:49 
GeneralDesign pattern - Exporting results to different formats Pin
jonnyvargazz24-Apr-08 3:44
jonnyvargazz24-Apr-08 3:44 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.