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

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

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

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


当前回答

“优秀的编码员编写代码,优秀的编码员重用它”这是现在正在发生的事情,但“优秀的编码员”是唯一一个享受代码的人。 和“伟大的程序员”只是为了找出其中的漏洞,因为他们没有时间思考和编码。但他们有时间找出代码中的漏洞。

所以不要批评!!!!!!!!

按照自己的意愿创建自己的代码。

其他回答

最新的设计模式往往是骗人的。正如之前在这个问题中所说的,过度使用设计模式对设计的危害远大于帮助。

如果我再听到一个人说“每个人都应该使用IOC”(或类似的废话),我想我将被迫找到他们,并告诉他们他们方法的错误。

手动停止程序是一种有效的、经过验证的查找性能问题的方法。

可信吗?对大多数人来说并非如此。真的吗?绝对的。

程序员的判断比必要的要多得多。

看看这些帖子中所有被认为是“邪恶”或“可怕”的事情吧。

程序员喜欢数据结构。

见证所有关于类、继承、私有与公共、内存管理等以及如何分析需求的讨论。

记录器配置是浪费时间。如果这意味着学习一种新的语法,尤其是一种无声地失败的语法,为什么要有它们呢?不要误解我,我喜欢好的伐木。我喜欢日志记录器的继承和向日志记录器的处理程序添加格式化程序。但是为什么要在配置文件中进行呢?

您希望在不重新编译的情况下对日志代码进行更改吗?为什么?如果您将日志代码放在单独的类、文件中,会有什么不同呢?

您是否希望将可配置的日志与您的产品一起分发给客户端?这不是提供了太多信息吗?

最令人沮丧的是,用流行语言编写的流行实用程序往往会按照该语言指定的格式编写良好的api。编写一个Java日志实用程序,我知道您已经生成了javadocs,我知道如何导航。为您的日志记录器配置编写一种特定于域的语言,我们有什么?也许有文件,但到底哪里去了?你来决定怎么组织,我对你的思路不感兴趣。

启用多次签出 如果我们提高了开发人员的纪律,通过自动合并源代码控制,我们将从这个设置中获得更高的效率。

在产品代码中没有反射的位置

反射破坏了静态分析,包括重构工具和静态类型检查。反射还打破了开发人员对代码的正常假设。例如:向类中添加一个方法(它不会影响类中的其他方法)应该永远不会有任何影响,但是当使用反射时,其他一些代码段可能会“发现”新方法并决定调用它。实际上,确定这样的代码是否存在是很难的。

我确实认为在代码生成器中使用反射和测试是很好的。

是的,这确实意味着我试图避免使用反射的框架。(Java缺乏适当的编译时元编程支持,这太糟糕了)