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

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

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

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


当前回答

真正的程序员像爱灵魂伴侣一样爱开源,像爱肮脏但令人满意的妓女一样爱微软

其他回答

程序员不应该接触Word(或PowerPoint)

除非你正在开发一个文字或文档处理工具,否则你不应该使用只产生二进制blobs的文字处理器,就此而言:

生成的XML文件是二进制blob

程序员应该编写纯文本文档。程序员编写的文档只需要传达意图,而不是格式。它必须能够使用编程工具链进行生产:编辑器、版本控制、搜索实用程序、构建系统等等。当你已经拥有并知道如何使用这个工具链时,使用其他任何文档制作工具都是在浪费时间和精力。

当需要为非程序员生成文档时,应该使用轻量级标记语言,例如reStructuredText(如果您正在编写纯文本文件,您可能正在编写自己的轻量级标记),并从中生成HTML、PDF、S5等。

学校教育毁掉创造力

*“废墟”指“潜在的废墟”

当然,上学是需要的!每个人在使用之前都需要学习一些东西——然而,如果我们不小心的话,你所有关于如何为特定的业务领域采取某种策略的伟大想法都很容易被扔进我们的大脑深处。

当你学习新事物、获得新技能时,你也会把自己的思维定势限制在这些新事物和新技能上,因为它们显然是“做事的方法”。作为人类,我们倾向于听从权威——无论是老师、顾问、同事,甚至是你喜欢的网站/论坛。我们应该时刻注意我们思维运作的“缺陷”。听别人说什么,但不要认为他们说的是理所当然的。对你收到的每一个新信息都要保持一种批判的观点。

而不是想“哇,这很聪明。我从现在开始就用它了”,我们应该想“哇,这很聪明。现在,我如何在我的个人技能和想法的工具箱中使用它?”

真正有争议的:

你什么都不知道!

换句话说:

我知道我什么都不知道。

(这可以有很多种解释,但我认为你已经明白了。)

在开始计算机开发时,我认为每个人都必须经历三个阶段:

新手: 一无所知(这是事实)

中间: (这是自负)自以为知道些什么/非常多(/所有)

专业: 知道自己什么都不懂(因为作为一个程序员,大多数时候你必须处理你以前从未做过的事情)。 这不是坏事:我喜欢让自己随时熟悉新事物。

我认为作为一个程序员,你必须知道如何学习——或者更好:学会学习(因为记住:你什么都不知道!)))。

永远不要以单例方式实现任何东西。

您可以决定不构造多个实例, 但始终确保您的实现可以处理更多。

我还没有发现任何使用单例的场景 才是正确的选择。

在过去的几年里,我对此进行了一些非常激烈的讨论, 但最后我总是对的。

这不是关于编程的,因为html/css不是编程语言。

表格可以用于布局

CSS和div不能做所有的事情,节省你自己的麻烦,使用一个简单的表,然后在它上面使用CSS。