Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

It definitely is. The problem, I think, is that people forget these fundamental concepts when they're shoved into a giant legacy code base that clearly didn't follow that process. They seem to get overwhelmed by the spaghetti and forget their entire undergrad curriculum.

As a side note, I find it helpful to think of what the high level business objects will be at the beginning, but build a bunch of utility functions from the bottom up, working towards a DSL of sorts at the various abstraction levels. As you explore the solution, the end location of those functions usually becomes abundantly clear.



> As a side note, I find it helpful to think of what the high level business objects will be at the beginning, but build a bunch of utility functions from the bottom up

Yeah I think this is a reasonable approach, especially as if you do end up completing this, and get to a design you are happy with, it will probably be very different (and hopefully infinitely superior) to your original high level design.

You've probably already heard of it but the mikado method can also be useful in some of these situations.


I had not heard of this before. I will have to investigate. I found an InfoQ[0] talk on it that I will watch after work.

[0] http://www.infoq.com/interviews/mikado-method-restrurcture-s...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: