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

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

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

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


当前回答

过程式编程很有趣。OOP很无聊。

其他回答

当许多新技术出现时,我对它们的了解只够决定我现在是否需要它们。

如果没有,我就把它们放在一边,直到“早期采用者”把粗糙的边缘去掉,然后每隔几个月/几年再检查一次。

90%的程序员都是非常糟糕的程序员,实际上我们所有人都没有任何工具来评估我们当前的能力水平(尽管我们通常可以回顾过去并意识到我们曾经是多么糟糕)

我不打算发布这个,因为它会惹恼所有人,我并不是真的想要一个负分或其他什么,但是:

A,这不是问题的重点吗

B)这个帖子中的大多数“答案”都证明了这一点

前几天我听到一个很好的类比:编程能力的差异至少和运动能力一样大。我们当中有多少人可以加入一个职业球队,并真正提高他们的机会?

继承是邪恶的,应该被摈弃。

事实是,在任何情况下,聚合都更好。静态类型的OOP语言不能避免继承,它是描述方法想从类型中得到什么的唯一方法。但是动态语言和鸭子类型可以没有它。Ruby mixins比继承强大得多,也更可控。

SQL可以而且应该做得更好。由于其原始规范有限,多年来各种厂商一直在向不同方向扩展该语言。为MS-SQL编写的SQL与为Oracle、IBM、MySQL、Sybase等编写的SQL不同。其他严肃的语言(以c++为例)都经过了仔细的标准化,因此在一个编译器下编写的c++通常可以在另一个编译器下编译而无需修改。为什么SQL不能被更好地设计和标准化呢?

HTML作为浏览器显示语言是一个严重的错误选择。我们花了数年时间通过CSS、XHTML、Javascript、Ajax、Flash等进行扩展,以制作一个可用的UI,但结果仍然不如你的基本厚客户端windows应用程序。此外,一个称职的web程序员现在需要了解三到四种语言才能制作一个像样的UI。

噢,是的。匈牙利符号令人厌恶。

硬编码很好!

真的,在许多情况下更有效,更容易维护!

我看到常数放入参数文件的次数真的非常频繁 你改变了水的冰点还是光速?

对于C程序,只需将这些类型的值硬编码到头文件中,对于java程序,只需将这些值硬编码到静态类中等等。

当这些参数对你的程序行为有巨大的影响时,你真的想对每一个变化做一个回归测试,这似乎是硬编码值更自然。当东西存储在参数/属性文件中时,人们很容易认为“这不是一个程序变更,所以我不需要测试它”。

另一个好处是,它可以防止人们在参数/属性文件中混淆重要值,因为根本没有任何重要值!