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

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

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

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


当前回答

一个编程任务只有在它不可能的时候才有趣,那是在你说服自己能够成功解决它之前。

我想,这就是为什么我的许多项目都在“to_be_continue”文件夹中完成了一半。

其他回答

糟糕的程序员是语言不可知论者

一个真正糟糕的程序员几乎可以用任何语言写出糟糕的代码。

优秀的程序员讨厌编码

类似于“优秀的程序员是懒惰的程序员”和“代码越少越好”。但是,通过遵循这一理念,我成功地编写了一些应用程序,否则这些应用程序可能会使用几倍的代码(并花费几倍的开发时间)。简而言之:在编写代码之前先思考。我自己的程序中大部分后来导致问题的部分实际上是我喜欢编码的部分,因此代码太多,因此写得很糟糕。就像这一段。

优秀的程序员是设计师

我发现编程使用与设计相同的概念(在艺术中使用相同的设计概念)。我不确定其他程序员是否也有同样的想法;也许这是左右脑的问题。从代码到命令行用户界面,再到图形用户界面,有太多丑陋的程序,很明显,这些程序的设计者实际上并不是设计者。

尽管在这种情况下,相关性可能并不意味着因果关系,但我注意到,随着我在设计方面变得更好,我在编码方面也变得更好。让事情变得合适和感觉良好的相同过程可以也应该用于这两个地方。如果代码感觉不对,它就会引起问题,因为要么a)它是不对的,要么b)你会假设它以一种“感觉对”的方式工作,然后它又会不正确。

艺术和代码并不是对立的;代码可以用在艺术中,代码本身也可以是一种艺术形式。

免责声明:不幸的是,并非我的所有代码都很漂亮或“正确”。

缺陷和增强请求是相同的

Unless you are developing software on a fixed-price contract, there should be no difference when prioritizing your backlog between "bugs" and "enhancements" and "new feature" requests. OK - maybe that's not controversial, but I have worked on enterprise IT projects where the edict was that "all open bugs must be fixed in the next release", even if that left no developer time for the most desirable new features. So, a problem which was encountered by 1% of the users, 1% of the time took precedence over a new feature would might be immediately useful to 90% of the users. I like to take my entire project backlog, put estimates around each item and take it to the user community for prioritization - with items not classified as "defect", "enhancement", etc.

所有源代码和注释都应该用英文编写

用英语以外的语言编写源代码和/或注释会降低可重用性,如果你不理解它们所使用的语言,就更难调试。

SQL表、视图和列也是如此,特别是在使用缩写时。如果它们没有缩写,我可能能够在线翻译表/列名,但如果它们被缩写,我所能做的就是选择并尝试破译结果。

微软并不像许多人说的那么糟糕。