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

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

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

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


当前回答

这是有可能保护您的应用程序。

每次有人问如何防止用户盗版他们的应用,或者如何保护应用不受黑客攻击,答案都是不可能的。无稽之谈。如果你真的相信这一点,那就不锁门(或者直接把门拿出来!)。也不用去看医生了。你是凡人——试图治愈疾病只是推迟了不可避免的事情。

仅仅因为有人可能会盗版你的应用或入侵你的系统,并不意味着你不应该试图减少这样做的人。你真正要做的是让入侵者/海盗需要比他们愿意做的更多的工作。

就像在你的房子上安装门闩和ADT可以防止窃贼,合理的反盗版和安全措施可以让黑客和海盗远离你的路。当然,他们越想闯入,你就越需要安全保障。

其他回答

我有争议的观点: OO编程被极大地高估了[并被视为一颗银弹],实际上它只是工具箱中的另一个工具,没有别的!

如果你想写出好的软件,那就离开你的电脑

去和最终用户以及想要和需要软件的人一起玩。只有从他们那里,你才能理解你的软件需要完成什么以及它需要如何完成。

询问他们对现有流程的爱与恨。 向他们询问他们的流程的未来,它的方向是什么。 出去逛逛,看看他们现在在用什么,弄清楚他们的使用模式。您需要满足并匹配他们的使用期望。看看他们还经常使用什么,特别是如果他们喜欢它并且可以有效地使用它。匹配。

最终用户根本不在乎你的代码有多优雅,也不在乎用什么语言写的。如果它对他们有效,他们喜欢使用它,你就赢了。如果它不能让他们的生活更轻松和更好——他们讨厌它,你就输了。

站在他们的立场上走一英里,然后去写你的代码。

评论是不好的

当代码需要注释来解释它在做什么的时候,代码就太复杂了。我总是尝试编写足够不言自明的代码,不需要太多注释。

我有争议的观点是John Carmack(游戏邦注:代表作有ID Software, Quake等)并不是一个优秀的程序员。

不要误解我的意思,在我看来他是一个非常聪明的程序员,但当我注意到quake源代码中的“#define private public”这一行后,我不禁认为他是一个无论如何都能完成工作的人,但在我的定义中,他不是一个好程序员:) 这个观点让我陷入了很多激烈的讨论;)

不要写代码,删除代码!

正如一位聪明的老师曾经告诉我的:“不要写代码,写代码是不好的,删除代码是好的。如果你必须写代码——写小代码……”