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

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

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

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


当前回答

在1970年1月1日之前,真和假是相反的……

其他回答

理解“做什么”至少和知道“如何”做一样重要,而且总是比知道解决问题的“最佳”方法重要得多。领域特定的知识对于编写好的软件通常是至关重要的。

未注释的代码是人类的祸害。

我认为注释对于代码是必要的。他们可视化地将其划分为逻辑部分,并在阅读代码时提供另一种表示方式。

文档注释是最低限度的,但是使用注释来分割较长的函数有助于编写新代码,并允许在返回现有代码时更快地分析。

使用匈牙利符号应处以死刑。

这已经足够有争议了;)

如果没有远程调试器,就无法编写web应用程序

Web应用程序通常将客户端和服务器端多种语言之间的交互联系在一起,需要用户进行交互,并且通常包括第三方代码,这些代码可以是简单的API实现,也可以是复杂的框架。

我已经记不清有多少次,当我用一个不错的远程调试器进入并跟踪一个复杂的web应用程序中实际发生的事情时,另一个开发人员坐在我身边,看到他们惊讶地发现有这样的工具存在。通常情况下,即使在看到这些工具的实际运行后,他们仍然不愿意费心安装和设置这些工具。

你只是不能用打印语句调试一个重要的web应用程序。如果应用程序中的所有代码都不正确,则乘以10。

如果您的调试器可以逐步检查所有正在使用的语言,并显示正在发生的http事务,那就更好了。

没有Firebug就无法开发web应用程序

同理,一旦你用过Firebug(或非常接近Firebug的东西),你就会对那些试图开发web应用程序的人既同情又恐惧。特别是Firebug显示计算样式,如果你还记得不使用它,花了几个小时随机更改各种CSS位,并添加“!重要的”在太多的地方搞笑你永远不会回去。

绝大多数正在开发的软件在收集需求时不涉及最终用户。

通常只是一些经理提供“需求”。