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

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

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

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


当前回答

如果一种编程语言的语法不直观,我也不在乎它有多强大,而且我不能把它放在一边,在不花太多精力刷新细节的情况下再回来使用它。我宁愿语言本身是直观的,而不是神秘但强大的用于创建DSL。计算机语言对我来说是一种用户界面,我希望它像任何其他用户界面一样易于使用。

其他回答

和这里的大多数人一样,我尽量遵循DRY和不做人工编译器等原则。

我想推广的另一个策略是“告诉,不要问”。而不是混乱的所有对象与getter /setter本质上是他们的筛子,我想告诉他们做一些事情。

这似乎直接违背了具有愚蠢实体对象和较厚服务层的良好企业实践(这需要大量的请求)。嗯,想法?

整天在Stackoverflow上回答问题的程序员可能并没有在做他们应该做的工作。

一幅画不如一千个词。

有些图片可能胜过千言万语。大多数都不是。这句陈词滥调大多是不真实的,是许多懒惰的经理的可悲借口,他们不想仔细阅读创建的报告和文档,说“我需要你在图表中展示给我看”。

我妻子学的是语言学专业,她看到了一些关于图片和标志的令人着迷的证据:它们不能打破语言和文化的障碍,它们通常不能像正确的文本那样传达那么多的信息,它们根本不能取代真正的交流。

特别是,如果线条未被标记且无法解释,并且/或如果每一行都有不同的含义而不是表示相同的关系(除非以某种方式彼此区分),那么与线条连接的标记气泡是无用的。如果你的线条有时表示关系,有时表示动作,有时表示时间的流逝,你就真的完蛋了。

每个优秀的程序员都知道你使用的工具适合手头的工作,对吗?并不是所有的系统都最好用图片来说明和记录。图形化规范语言可以自动转换为可证明正确的可执行代码或任何东西,这是一个了不起的想法,如果这样的东西存在的话。在适当的时候使用它们,而不是在阳光下的所有事情上。实体-关系图很棒。但并不是所有的事情都可以用一张图片来概括。

注:一张桌子可能值同等重量的金子。但是表格和图片不是一回事。同样,一篇精心设计的短散文段落可能更适合手头的工作。

根据我得到的大量反馈,我最具争议的观点显然是,程序员并不总是读他们声称读过的书。这紧跟着我的观点,一个受过正规教育的程序员比一个自学成才的程序员更好(但不一定比另一个自学成才的程序员更好)。

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

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