这绝对是主观的,但我想尽量避免它变成争论。我认为如果人们恰当地对待它,这将是一个有趣的问题。

这个问题的想法来自于我对“你最讨厌的语言的哪五件事?”问题的回答。我认为c#中的类在默认情况下应该是密封的——我不会把我的理由放在这个问题上,但我可能会写一个更完整的解释来回答这个问题。我对评论中的讨论热度感到惊讶(目前有25条评论)。

那么,你有什么有争议的观点?我宁愿避免那些基于相对较少的基础而导致相当宗教的事情(例如,大括号放置),但例如可能包括“单元测试实际上并没有多大帮助”或“公共字段确实是可以的”之类的事情。重要的是(至少对我来说)你的观点背后是有理由的。

请提出你的观点和理由——我鼓励人们投票给那些有充分论证和有趣的观点,不管你是否恰好同意这些观点。


当前回答

异常被认为是有害的。

其他回答

软件开发是一门艺术。

真正有争议的:

你什么都不知道!

换句话说:

我知道我什么都不知道。

(这可以有很多种解释,但我认为你已经明白了。)

在开始计算机开发时,我认为每个人都必须经历三个阶段:

新手: 一无所知(这是事实)

中间: (这是自负)自以为知道些什么/非常多(/所有)

专业: 知道自己什么都不懂(因为作为一个程序员,大多数时候你必须处理你以前从未做过的事情)。 这不是坏事:我喜欢让自己随时熟悉新事物。

我认为作为一个程序员,你必须知道如何学习——或者更好:学会学习(因为记住:你什么都不知道!)))。

这是有可能保护您的应用程序。

每次有人问如何防止用户盗版他们的应用,或者如何保护应用不受黑客攻击,答案都是不可能的。无稽之谈。如果你真的相信这一点,那就不锁门(或者直接把门拿出来!)。也不用去看医生了。你是凡人——试图治愈疾病只是推迟了不可避免的事情。

仅仅因为有人可能会盗版你的应用或入侵你的系统,并不意味着你不应该试图减少这样做的人。你真正要做的是让入侵者/海盗需要比他们愿意做的更多的工作。

就像在你的房子上安装门闩和ADT可以防止窃贼,合理的反盗版和安全措施可以让黑客和海盗远离你的路。当然,他们越想闯入,你就越需要安全保障。

不要写代码,删除代码!

正如一位聪明的老师曾经告诉我的:“不要写代码,写代码是不好的,删除代码是好的。如果你必须写代码——写小代码……”

大多数程序员都不擅长编程

(你刚才说“有争议”)

我坐在家里的办公室里思考一些编程问题,最后我看着书架上的“完整的频谱ROM拆卸”,心想:

“现在有多少程序员能写出Spectrum ROM中使用的代码?”

Spectrum,对于那些不熟悉它的人来说,有一个基本的编程语言,可以在16K的Z80代码(一个< 5Mhz的8位处理器,没有FPU或整数乘)中完成简单的2D图形(线,曲线),文件IO排序和浮点计算,包括传递函数。今天的大多数毕业生都很难编写一个这么小的“Hello World”程序。

我认为问题在于,能够做到这一点的程序员的绝对数量几乎没有变化,但作为一个百分比,它正在迅速接近于零。这意味着,随着越来越多不合格的程序员进入这个领域,所编写的代码的质量正在下降。

Where I'm currently working, there are seven programmers including myself. Of these, I'm the only one who keeps up-to-date by reading blogs, books, this site, etc and doing programming 'for fun' at home (my wife is constantly amazed by this). There's one other programmer who is keen to write well structured code (interestingly, he did a lot of work using Delphi) and to refactor poor code. The rest are, well, not great. Thnking about it, you could describe them as 'brute force' programmers - will force inappropriate solutions until they work after a fashion (e.g. using C# arrays with repeated array.Resize to dynamically add items instead of using a List).

现在,我不知道我目前所在的地方是否具有代表性,尽管从我以前的职位来看,我认为它是典型的。事后来看,我发现一些常见的模式对任何项目都没有帮助(比如缺少代码的同行评审)。

所以,7个程序员中就有5个是垃圾。

斯基兹