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

科技回声

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

GitHubTwitter

首页

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

资源链接

HackerNews API原版 HackerNewsNext.js

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

Ask HN: Is "Code Complete" by Steve McConnell still a recommended read?

44 点作者 wandering-nomad大约 2 年前
This book is considered a classic but the latest edition was published almost 20 years ago. Is it still relevant? Does it still succeed in its stated goal of bridging the gap between research and commercial software development?

11 条评论

gjadi大约 2 年前
I read it last year and I think it&#x27;s still relevant.<p>I had planned to write on the topic. In his book, Steve McConnell advocates for PPP = Pseudocode Programming Process<p>Basically, he says you should outlines the structure of your code first, before writing your actual code.<p>IMHO this is even more relevant in the age of AI assisted programming. Pseudocode Programming Process is becoming Prompt Programming Process.<p>The process is the same, it&#x27;s just the tooling around it that has evolved.
评论 #35711027 未加载
评论 #35726451 未加载
评论 #35711772 未加载
评论 #35710971 未加载
评论 #35711162 未加载
ChrisMarshallNY大约 2 年前
Heck, I still use stuff I picked up from <i>Writing Solid Code.</i><p>That book hasn’t aged as well, but it had some parts that are still quite relevant, today.<p>I always thought that <i>Rapid Development</i> was better than <i>Code Complete</i>.<p>I’ve probably read all of McConnell’s stuff (and I’ve taken a lot of Construx courses). At one time, I was quite the fanboi.<p>A lot of folks around here don’t seem to like him, which I find odd.
评论 #35711198 未加载
评论 #35711305 未加载
kqr大约 2 年前
I think anything that makes you take a new perspective on (software) product development and reflect on your experiences and pay attention to patterns of outcomes is going to make you a better developer.<p>Even if the book would be hopelessly outdated, that&#x27;s usually informative too. It tells you which specific parts of the industry change slowly and which evolve rapidly. That will help you figure out where we are headed and what you can count on will be roughly the same for the next 25 years of your career.<p>It&#x27;s very hard to rank books precisely, because how much people get out of them also depends on past experiences.<p>If you already have the book or can get free access to it -- why not try? Even just the preview on Amazon is usually good to give a sense of what it is like. Read a few chapters and see if it&#x27;s something you think you want to continue with.<p>But what&#x27;s important is not that you pick The Right Book <i>now</i>, it&#x27;s that you pick up another book when you are finished with this one.
sokoloff大约 2 年前
It&#x27;s absolutely still relevant, but it might not be as dominant as it was when first released. By that I mean that the landscape of software development has changed significantly with much more community-driven ecosystems (no longer ~just CPAN) and much more programming is figuring out how to think about choosing the right off-the-shelf architectural components.<p>So, it&#x27;s relevant and still excellent in guiding you how to write and manage code, but make sure you don&#x27;t let it lead you to a conclusion that you should write your own code for all aspects of your system.
Cthulhu_大约 2 年前
I&#x27;d say it&#x27;s still a good resource to have; it&#x27;s not just about programming but about project management, planning, etc.<p>I&#x27;d take their recommendations about code style and documentation and whatnot with a grain of salt though, languages, tools and styles have changed since then. Don&#x27;t skip them, but don&#x27;t adhere to them religiously; add them to your arsenal of knowledge.<p>It&#x27;s also a bit of a slog to read front to back, so consider picking one chapter at a time or only looking up a subject you&#x27;re curious about; I&#x27;d consider it more of a reference.
评论 #35710951 未加载
radicalbyte大约 2 年前
It&#x27;s in the same group as Pragmatic Programmer, Refactoring, Patterns of Application Architecture and the Gang-of-Four book for me. Still recommended for junior programmers as they&#x27;re all teaching the core of good design.<p>However seeing as the better frameworks&#x2F;languages&#x2F;IDEs have internalised a lot of the learnings and that the specific conventions may be outdated - so just follow the recommendations for your platform&#x2F;framework.
评论 #35712870 未加载
warrenm大约 2 年前
In my opinion, it&#x27;s as much a &quot;recommended read&quot; as a lot of <i>other</i> so-called &quot;classics&quot;:<p>- Rapid Application Development (also by McConnell)<p>- Soul of a New Machine by Kidder<p>- Mythical Man Month by Fred Brooks<p>- Programming Pearls by John Bentley<p>- Applied Cryptography (2e) by Bruce Schneier<p>- The Cuckoo&#x27;s Egg by Cliff Stohl<p>- Structured Computer Organization by Tanenbaum &amp; Todd<p>- Design Patterns: Elements of Reusable Object-Oriented Software by Gamma, Helm, etc<p>- A New Kind of Science by Wolfram<p>And many more could be added to this list<p>Sure, some of them use acronyms or reference technology that you&#x27;ve either never heard of or has been supplanted<p>But you could [nearly] do a find-and-replace on those &quot;outdated&quot; terms with a &quot;current&quot; term, and the books would [effectively] be up-to-date<p>Don&#x27;t get hung-up on specific examples - they&#x27;re just there to illustrate the problem domain
Cody_C大约 2 年前
I would still recommend it. Well actually I would recommend Code Complete II as it is the be updated version. I met Steve McConnell in person and have read most of his books. I&#x27;ve found them to be gems.<p>There is a lot of value in reading different things even if you aren&#x27;t sure about the value to see what you pick up. Sometimes you will learn something or see a situation you never would have expected.
markus_zhang大约 2 年前
Regarding coding practices:<p>I work as a data engineer and I always wanted to enforce some rules for the team:<p>1. DAGs must have a section that describes what it does and have link to jira ticket and documentation if applicable. Stakeholders should be named too.<p>2. DAGs must have a created by and modified by section with a summary of what they did. Yes we can track changes in GitHub but if we do a lift and shift upgrade of Composer instances all trackable changes are gone.<p>3. Comment the sql queries wherever hacky. There is no way I know why the original author put up some conversions in the code.<p>4. Every etl should check source data before and check loaded data after. Put up some test cases there. For critical processes, failure should always trigger emails and slack message sent to at least two places: DE team and related stakeholder team. God there are SO MANY cases we can get rid the trouble to pick and clean the data because we did not reject obviously wrong source data.<p>5. Think about potential errors. If you have to SUM a column of large integers, watch for overflows. If your column is nullable, watch for unexpected nulls. Such and such.
wila大约 2 年前
Good coding practices don&#x27;t change much, so yes it is still relevant.
评论 #35711041 未加载
评论 #35710821 未加载
评论 #35710783 未加载
shubhamjain大约 2 年前
Most likely no! Do you really need to read a 900 page book to understand how to write good code? There might be nuggets of wisdom here and there, but you&#x27;ll most likely pick them on your own as you code and grow. Problem with these books is that you tend to over-apply whatever you read. You read the fact that configurations are good, so you create a nest of abstractions to make code configurable, even when it doesn&#x27;t make sense. This is the stuff that I have seen happen over and over again. Over-engineered crap resulting from programmers trying to make future-proof code.<p>The best way is still, reading and writing lots of code. You&#x27;ll pick the right way quite naturally.
评论 #35710993 未加载
评论 #35723515 未加载
评论 #35711141 未加载
评论 #35711225 未加载