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

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

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

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


当前回答

如果你曾经让rentacoder.com的任何人接触过你的项目,那么这个项目和你的业务就完全没有价值了。

其他回答

要成为一名程序员,你必须会打字。

这在那些不知道如何打字,但坚持认为他们可以像任何打字员一样用两根手指搜索和啄的人之间存在争议,或者他们真的不需要花那么多时间打字,或者智能感知减轻了打字的需要……

我从来没有遇到过会打字的人,但坚持认为打字没什么区别。

参见:编程中最肮脏的小秘密

...“澄清想法”不应该是开发者的唯一责任……是的,XKCD让我用了那个特定的短语…

我们经常会收到一些项目,这些项目都是在伪元类型特定的“代码”中指定的,如果你愿意这样称呼它的话。经常有产品经理为一个项目制定初始需求,并执行接近0%的基本逻辑验证。

我并不是说技术方法不应该由架构师制定,或者具体的实现不应该是开发人员的责任,而是说它应该是产品经理的需求,以确保他们的需求在逻辑上是可行的。

就我个人而言,我参与过太多“简单”的项目,这些项目在这里或那里遇到了一些范围渐变,然后遇到了与之前的需求相矛盾的“小”更改或功能添加——无论是含蓄的还是明确的。在这种情况下,要求做出近乎不可能的改变的人很容易对开发人员无法实现他们的梦想感到愤怒。

设计模式对优秀设计的伤害大于帮助。

IMO软件设计,尤其是优秀的软件设计,变化太大,无法在模式中有意义地捕捉,特别是在人们实际能记住的少量模式中——而且它们太抽象,人们实际上只能记住少数几个。所以他们帮不上什么忙。

另一方面,太多的人迷恋于这个概念,并试图在所有地方应用模式——通常,在生成的代码中,你无法在所有(完全没有意义的)单例和抽象工厂之间找到实际的设计。

如果你有合适的工具,并花时间正确地编写,那么软件就可以没有错误。

几乎在所有情况下,评论都是邪恶的:http://gooddeveloper.wordpress.com/