写程序的时候,尽量对自己要求高一点

首页

2014-07-29

cover

第4期“快速问答”发布了好几天了,怎么这次一点都不踊跃啊?不过从收上来的两份答案上看,大伙儿还是得对自己的要求高一些。

我对编码风格命名规则要求不是很大,除了一些公开的规范之外,我对各种“流派”都能接受。例如:

我不会因为使用哪一种特定风格就没法写程序。当然我也有个人偏好,我自己写的程序,或是其他规范能由我说了算的时候,我就会这么去做。但假如我是和别人合作,只要团队确定了一种风格,我都能接受。事实上我公司里的项目和我个人就用的是两种风格。例如,我公司里的代码是2个空格缩进及大括号另起一行,而我个人的习惯是4个空格缩进及大括号放在行末。有人说C#的标准是大括号另起一行,Java才是放在行末——其实也不尽然,比如你可以多翻翻Reference Source。

但是,我不能忍受的就是“不一致”。比如我的示例代码里面的私有字段用下划线开头,比如_items,这是我的习惯,但在收到的前两份答案里面,新的私有字段就没有下划线了。为什么不保持一致呢?你觉得我给出的代码不符合你的编码习惯,那就改掉啊,为什么要混用?还有一份答案里面还保留了上一期的FirstBufferSecondBuffer,为什么不肯清理一下再发给我呢?

我觉得吧,这些都说明了很多同学对于自己的代码实在没什么要求,得过且过。我这些题目其实都是相当于简单的面试题,假如你就这么随随便便地给我一份答案,结果可想而知。也不要跟我说什么格式不重要啦内容对就行啦,事实上我也没见过多少格式差但内容精妙的代码。

昨天帮人看了一些代码,就是些很普通的项目吧,里面还在用SqlHelper这个上古工具。各种ORM框架都已经出了多少年了,都成熟的不得了,为什么还要抱着十年前的技术不放?总有人问我,觉得项目做了没有长进,该怎么努力云云,为什么不从自己项目做起,把它改的更好一些?或是在启用新项目的时候,尝试一些新的技术?

真的,对自己要求高一点。

不用ORM的理由我听了很多,但从头到尾往往都是比如说“适用场景”,“可维护性”之类的套话。能不能别说套话,说说你的场景到底特殊在哪里,ORM的可维护性差在什么地方?我不相信世界上怎么到处是“特殊场景”。还有人说性能的,于是我就呵呵了,说的好像自己有多追求性能一样,数据结构不了解细节不仔细挑选,缓存也没有,更不知道Profiler为何物,倒来谈ORM的性能问题——说不定在你的ORM框架里打开一个缓存开关就能让你的程序性能有质的飞跃呢。

对了,微软其实早就开源了Entity Framework的代码,点击下方“阅读原文”链接可访问其站点。假如你现在还不知道ORM为何物,就已经落后这个世界十年了,知道而不用估计也落后了五年。

最后,大伙儿还是得多参加答题哪。回复 4 可以访问“快速问答”相关题目。加油,这题一点不难。

阅读原文