最近接手其他人做的项目,导致之前的一些幻想破灭了。因为刚工作的时候做项目是PHP,而php本身的WEB框架一般只简单区分mvc,稍微麻烦一些的会多个library或者helper之类的。这样分层很少有优点同时也有缺点。当然了,现代的框架一般
最近接手其他人做的项目,导致之前的一些幻想破灭了。因为刚工作的时候做项目是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;
--结束END--
本文标题: 初级程序员常犯错误一览
本文链接: https://www.lsjlt.com/news/367340.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-05-13
2024-05-12
2024-05-12
2024-05-12
2024-05-12
2024-05-12
2024-05-12
2024-05-12
2024-05-12
2024-05-12
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0