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

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

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

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


当前回答

观点:开发者应该测试自己的代码

我曾经见过太多的垃圾交付给测试,但实际上并没有修复问题中的bug,导致了沟通开销,并助长了不负责任的实践。

其他回答

(未命名)元组是邪恶的

如果您使用元组作为具有唯一含义的多个对象的容器,请改用类。 如果您使用它们来保存几个应该通过索引访问的对象,请使用列表。 如果您使用它们从一个方法中返回多个值,请使用Out参数(这需要您的语言支持引用传递) 如果这是代码混淆策略的一部分,那就继续使用它们!

我看到人们使用元组只是因为他们懒得给他们的对象命名。API的用户将被迫基于无意义的索引(而不是有用的名称)访问元组中的项。

人们应该注释他们的代码?这似乎在这里很有争议。

代码只告诉我它实际做什么;这不是它应该做的

当我看到一个函数计算澳大利亚债券期货的点价值时,我想看到一些注释,表明编码器认为计算应该是什么!

有很多糟糕的教学。

当Joel说大脑中有一部分是用来理解指针的,而有些人生来就没有指针时,我们开发人员就会沾沾自喜。我们许多人在这里讨论和热衷的话题都很深奥,但有时这只是因为我们把它们弄得如此深奥。

尊重单一责任原则

乍一看,你可能不认为这是有争议的,但根据我的经验,当我向另一个开发人员提到他们不应该在页面加载方法中做所有事情时,他们通常会拒绝……所以对于孩子们,请不要再用我们经常看到的“什么都做”的方法了。

vb6可以用来做好事,也可以用来作恶。在编码过于复杂的时代,这是一个快速应用程序开发环境。

我过去非常讨厌VB,现在还在嘲笑VB。NET(可能是开玩笑)作为一种Fisher Price语言,因为我不喜欢经典的VB,但在它的时代,没有什么能打败它完成工作。