TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Ask HN: How to Think Systematically as a Programmer?

15 pointsby svrmaover 4 years ago
How do you structure your thinking to minimize bugs, cover corner cases, make reductions, etc?

5 comments

drallisonover 4 years ago
It usually helps to have a systematic mathematical model for the problem you are trying to solve, and systematic mathematical models for the sub-problems into which the full problem is decomposed. It is frequently better to conceive of each step in the program as ensuring some property is invariant rather than conceiving each step as performing some action.<p>It is probably better not to think of yourself as a coder or a programmer; consider yourself a problem solver with mathematical skills and move on to there.<p>Always convince yourself that the problem you are trying to solve has a solution.
评论 #24769008 未加载
hexbinencodedover 4 years ago
Never stop learning.<p>Experience, testing, formal methods, less fragile tools, and avoiding premature optimization.<p>Consider Haskell, Idris, Pony, Rust, and Clojure, but these are just some tools in a large toolbox.<p>Put aside insecurities and constantly look for techniques to minimize errors, maximize readability, and productivity.<p>Accumulate best practices and apply them with experienced &quot;common&quot; sense.<p>Consider coding like writing with many drafts. Throw some away and write it again.
kazinatorover 4 years ago
You structure the code to minimize bugs, to avoid having to structure your thinking to minimize bugs.<p>You want programs to have the property that if someone wants to make a change, they need to understand only a small part of the program, and not worry about something breaking mysteriously in the parts they don&#x27;t understand.
maverickJover 4 years ago
1.Do a postmortem on every project that you undertake.<p>2.Go through existing projects and see if you can structure them differently and the benefits changing the structure will provide.<p>3.Buy and read The Fifth Discipline by Peter Senge <a href="https:&#x2F;&#x2F;amzn.to&#x2F;30IKxdZ" rel="nofollow">https:&#x2F;&#x2F;amzn.to&#x2F;30IKxdZ</a> . It is one of the best books on systems thinking.<p>4.It takes time to build the systems thinking muscle so be patient with yourself.
评论 #24727252 未加载
评论 #24730891 未加载
gregjorover 4 years ago
You learn from experience. Trial and error, experiment, and mentoring. You study code that works and code that doesn’t.
评论 #24726536 未加载