TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Ask HN: How did you learn proper system design?

9 点作者 pbjorklund将近 15 年前
Im constantly thinking about what layout of classes and their dependancies/interactions will work best for a new project. Doing some iPhone development right now has the "benefit" of forcing you to use things like the mvc pattern and having to rely heavily on delegates and target/actions but still there is always sub-organizing that takes place. The problem is that I never feel like a working solution is the best way of doing something. Studying design patterns only seems to be part of the equation, I guess im looking for new google keywords or amazon searches...<p>Question could probably be: How did you go from goto and general pasta to well designed beautiful code that made people write articles in your honor?<p>Books? Articles? Down-and-dirty coding? Finding a mentor? Doing open-source? Slaving away as a PhD student in applied mathematics and system design?

4 条评论

phugoid将近 15 年前
Having to maintain my own software and keep adding features. I have redesigned my largest project several times, and am still not entirely satisfied.<p>You need to suffer.
rbxbx将近 15 年前
For me personally, finding a mentor was a huge eye-opener, but that was mostly because I didn't realize that I was(and likely still am) doing it wrong.<p>The fact that you're self-aware and seeking out the information to further your craft bodes well :)
lanceusa将近 15 年前
Sounds like you're doing it. You are looking for a way to make yourself a better developer and this never ends. I found eventually, that no one every really knew a good design. It seems like we always invented that along the way. Yeah, we all knew patterns etc, and were bound to certain ways of doing things, but somehow we seemed to always get lucky on most designs. It quite possibly may have been that the problems solved themselves eventually. And after we saw the code we wrote we looked at it made it better on the last few days creating, in most cases, an elegant design. The designs were more apparent after the project was done which were never consistent from project to project.<p>One way to learn good software design is to look at other peoples code who are good at what they do. For me those people are John Resig, Douglas Crockford, etc.
dmaclay将近 15 年前
Working on large projects where you experience the consequences of bad judgment calls made years earlier, and trying to figure out how things could have gone better.<p>Probably the nastiest way to learn, but still the best.