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

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

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

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


当前回答

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

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

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

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

其他回答

缺陷和增强请求是相同的

Unless you are developing software on a fixed-price contract, there should be no difference when prioritizing your backlog between "bugs" and "enhancements" and "new feature" requests. OK - maybe that's not controversial, but I have worked on enterprise IT projects where the edict was that "all open bugs must be fixed in the next release", even if that left no developer time for the most desirable new features. So, a problem which was encountered by 1% of the users, 1% of the time took precedence over a new feature would might be immediately useful to 90% of the users. I like to take my entire project backlog, put estimates around each item and take it to the user community for prioritization - with items not classified as "defect", "enhancement", etc.

有一次,我从一位同事那里看到了以下内容:

compareto (b) == 0;

我说他不能在一般情况下这样假设,但他只是笑了。

全局变量和/或单例变量本身并不邪恶

我来自更多的系统管理员,shell, Perl(和我的“真正的”编程),PHP类型的背景;去年我被派去做Java开发工作。

单身是邪恶的。全球人太邪恶了,他们甚至不被允许。然而,Java有像AOP这样的东西,现在还有各种“依赖注入”框架(我们使用谷歌Guice)。AOP就不是这样了,但是DI的东西肯定会给你什么?全局变量。啊,谢谢。

每个开发人员都应该熟悉现代计算机的基本架构。这也适用于那些以虚拟机为目标的开发人员(可能更适用,因为他们已经被反复告知,他们不需要担心内存管理等)。

不是很有争议,但是… AJAX早在这个术语被创造出来之前就已经存在了,每个人都需要“放手”。人们用它做各种各样的事情。但是没有人真正关心它。

然后突然嘣!有人创造了这个术语,每个人都加入了AJAX的潮流。突然之间,人们成了AJAX的专家,好像动态加载数据的“专家”以前并不存在似的。我认为这是导致互联网被残酷摧毁的最大因素之一。还有“Web 2.0”。