blog 界面分为两部分。1. what’s new 最新的 blog 2. read list过去几十年中最受欢迎的 blog
我们主要看看 readlist。
Joel Spolsky 是 stack overflow 的创始人。上面是他的 blog,里面很多技术文章都过时了,他的大部分文章都是世纪初写的,现在是 2024 年,很多东西,在今天看来是习以为常的事,在当时他还是在不停强调。
对于技术原则,技术规范等,看现在时兴更好些。比如说这篇文章:www.joelonsoftware.com/2000/08/09/… 其中的东西在 2000 年时或许很少人遵守或者知道,但现在人们会觉得这是基本项。
但对于职业思考,技术公司、商业公司的思考,对现在来说仍有启发。
Things You Should Never Do, Part I
这篇文章写的是关于烂代码的问题。几乎所有程序员都会觉得几年前的代码,是烂代码,是惨不忍睹的代码,总是有一种冲动想要重新将老项目写一遍。文中Joel Spolsky 从商业角度描述为什么公司不可以重新重写项目。为什么程序员总是任务代码越来越难以控制,越来越难以阅读,以致于想要重写项目。
在阅读之前,我也是持有他文中所说的观点,简直全部命中。我也对于接受那些 N 手的老旧代码,总有一种重写的冲动。当出现新的技术,我们总想着修改代码,让项目用上最新的东西,以为那样会让项目更容易管理、性能更高。
但事实并不如此。
- 在商业上,你将落后于竞争对手,你要花数月、甚至数年,来重写项目,而这期间,你并没有更新任何功能。
- 重写之后,并不不能保证没有 bug
- 你看起来的丑陋的if else,实际上是对各种边界情况的判断,他随丑陋,但很健壮。
- 你重写后的代码,你又如何保证一段时间后不会变成垃圾。只要是多人开发,每个人都会有自己开发喜好,代码风格一定不一样,因此代码就必然冗余、杂乱。
- 花费数月、数年,重写项目,提升 20% 性能。这是否真的重要?