我们都错了。说到观点,事情就是这样。每个人都有他或她自己的信念,这些信念是在该领域多年的经验、令人沮丧的代码、书籍、成功等方面形成的。所有这些背景如何归结为一个统一的理论?他们只是还没有。你总是被告知要找到适合工作的工具。但什么是正确的工具?您可以根据您的实践知识来决定。我喜欢Ruby,因为我觉得它很自然,但其他开发人员讨厌这种语言。我喜欢干净的代码,其他人不在乎。我赞成RSpec和Capybara,其他的比如Test::Unit。CoffeeScript和纯JavaScript、ERb和HAML、Postgres和MySQL。Vim还是Emacs?Mac还是Linux?TDD或无TDD,以哪个为准?有了这些分裂,我们不能使人们摆脱教条,而只能产生相反观点的粉丝。相对论也可以应用于软件设计。我需要多少间接级别才能完成某项工作?这得看情况。这取决于所有充分的理由,但主要取决于您的判断。对你来说很棒的事情对其他人来说都是令人失望的。我们可以讨论权衡,但请不要把你成功的产品作为你对代码正确的资格。我在Litmus工作,这是一家非常赚钱的公司。如果我把下面的代码放在一个模板中,你会因为我的员工而觉得合理吗?<%require'mysql2'client=Mysql2::Client.new({主机:'主机',用户名:'用户名',数据库:'数据库'})rows=client.query(%{SELECT*FROMpreviewsORDERBYcreated_atDESCLIMIT5})%>
- <%rows.eachdo|row|%>
- <%=row.fetch(:title)%> <%end%>