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

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

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

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


当前回答

有很多糟糕的教学。

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

其他回答

创建类似于带有疯牛病的椒盐卷饼的UML图的能力实际上并不是一种有用的软件开发技能。

图代码的全部意义在于可视化连接,看到设计的形状。但是一旦你通过了一个相当低的复杂水平,想象就太多了,无法在精神上处理。只有在坚持使用直线的情况下,图形化地建立连接才比较简单,这通常会使图表比沿着基本方向巧妙地分组和路由连接更难阅读。

仅在广泛的交流目的下使用图表,并且仅当它们被理解为谎言时使用。

远离Celko!!!!

http://www.dbdebunk.com/page/page/857309.htm

我认为使用代理主键比使用“自然”主键更有意义。


@ocdecio: Fabian Pascal给出了(在他的书《数据库管理中的实际问题》的第三章中,引用于你链接的页面的第3点)作为选择键的标准之一,那就是稳定性(它总是存在并且不会改变)。当一个自然键不具有这样的属性时,必须使用一个代理键,原因很明显,您在注释中暗示了这一点。

你不知道他写了什么,你也懒得去检查,否则你会发现你实际上同意他的观点。这里没有什么争议:他说的是“不要教条主义,根据情况调整一般的指导方针,最重要的是,思考,用你的大脑,而不是教条主义/食谱/大师的话”。

XML和HTML是web的“汇编语言”。为什么还要黑它?

很明显,现在很少有开发人员学习汇编语言/编写代码,因为它很原始,并且使您远离必须在高层解决的问题。所以我们发明了高级语言来封装这些级别的实体,通过我们可以在更高级别上联系到的语言元素来提高我们的工作效率。就像我们可以用计算机做更多的事情,而不仅仅是它的组成部分主板或CPU。

对于Web,在我看来,开发人员仍然在阅读/编写和破解HTML、CSS、XMl、模式等。

我认为这些语言相当于Web或其基础的“汇编语言”。 我们该结束了吗?当然,当出现问题时,我们有时需要破解它。 但可以肯定的是,这是个例外。 我断言,我们正在用等价的web级汇编语言取代机器级的低级汇编语言。

得墨忒耳定律,在聚合和组合的背景下考虑,是一种反模式。

每当您向外界公开一个可变类时,您都应该提供事件来观察它的变化。额外的努力也可能说服您最终使其不可更改。