最近接手其他人做的项目,导致之前的一些幻想破灭了。因为刚工作的时候做项目是php,而php本身的web框架一般只简单区分mvc,稍微麻烦一些的会多个library或者helper之类的。这样分层很少有优点同时也有缺点。当然了,现代的框架一般支持namespace,你也完全可以借鉴其它语言来做自己的内部框架。这里先不说这个。
mvc的优点自然是简单,无论一个新人有没有做过相关的工作,你只要跟他简单说明每一层的职责是什么,马上就可以开始工作。缺点也非常明显,因为太简单,所以代码在累积到一定量以后会变得难以控制复杂度。同时容易让没什么经验的程序员把代码写得难以维护。
所以之前听说java的框架这方面做得好一些,然后对部门的java项目抱有一些幻想。不过在实际接手后,发现理想和现实真是有比较巨大的鸿沟。所以先来总结一下共通的初级程序员比较容易犯的错误吧。如果哪天自己带团队了,面试别人也可以拿这些题作为区分人的一种界限。做项目的时候有思考的人和不思考的人还是会有不小的区别的。
命名太啰嗦,或者不规范
这个问题其实挺普遍的,即使是科班出身的人,工作了很多年的人,写程序也可能冒出来一堆var a/b/c之类的变量。如果你的程序本身短小精悍,或者只是纯粹的算法题,这样似乎问题不大(反正oj ac了以后你可能也就再也不会看自己的代码。但这样的代码放在生产环境中,问题就很大了。首先有些变量本身的生命周期可能会超过一个横着放的屏幕。这里逗逼一下,不是谁都能买得起Dell的可横可竖的屏幕好吗。比如按照我的13寸笔记本来看,vim的全屏模式下只能显示33行(当然了,我视力不好,字体比较大)。所以如果在第一行声明了一个变量var a。那么顺着读下去,在33行之外。。。我觉得我肯定不记得这是什么东西了。
如果你想要声明一个变量,一定要让这个变量的名字本身具有含义,比如productName,productPrice,userId,userInfo,orderHistory。但保证名字有含义的同时,一定要保证名字和其含义对应得上。并且不要把一个命名好的变量以优化的名义反复存储各种不同的值。例如我们这里的代码就曾经出现过看起来是userIds,但实际上打印出来却是一堆userInfo的信息的事情。着实让人恼火。
业务内部逻辑的变量命名还是讲究单词打全,意义明了等等。如果是框架本身的一些内容命名的话。例如java的spring框架里的service命名,反而应该稍微简洁一些。例如:
KnowledgeService kService;OrderService oService;UserMapper uMapper;
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
软考中级精品资料免费领
- 历年真题答案解析
- 备考技巧名师总结
- 高频考点精准押题
- 资料下载
- 历年真题
193.9 KB下载数260
191.63 KB下载数245
143.91 KB下载数1139
183.71 KB下载数640
644.84 KB下载数2752