大家好,今天小编关注到一个比较有意思的话题,就是关于学习编程的短板的问题,于是小编就整理了2个相关介绍学习编程的短板的解答,让我们一起看看吧。
如何判断一个程序员写代码好与不好?
谢邀。作为一位立志对自己每一行代码都负责的程序员,判断程序员代码写的好不好有很多方面。
java程序员中非常流行阿里巴巴Java编码规范,这是阿里对J***a程序员的规范要求,一公布引起很大反响,笔者作为把阿里规范看了不下五遍的人,不得不承认如果代码能按照编码规范来写,那将是非常优秀的。不仅仅是影响了代码的整洁度,有些规范的编写将非常有利于软件的性能和稳定性。
判断代码好坏我有以下几个方法:
- 首先先看代码的规范性,比如驼峰写法,比如是否在每个接口处都带有注释。这些可以用阿里插件扫描。
- 其次,可以用sonar等工具进行扫描,看看代码是否有空指针的可能性,还有些“坏味道”的代码。
- 最后,可以看看这些代码的细节,具体实现方式,在核心算法里有没有注释,是否冗余,是否会有更好的写法替代。
关注“极客宇文氏”更多干货经验分享。
理论上讲,好的代码要简洁,逻辑清晰,易扩展,良好的封装等等。
但在实际中,吐槽代码已成了程序员的日常。
借用亚马逊工程师的话,来形容说他们的代码:“一座很大的屎山,你见过的最大的山,每次你想修正一个bug,你的工作就是爬到屎山的正中心去”。
我们组曾有一个著名的6000行后端JS,没有面向对象封装,纯靠函数。 其中有好几个上千行的函数,带了二十多个形参,几个标志位,分别有十几个数字状态。注释?没有的。
每一个接手过这段代码的人都会不约而同的发一条朋友圈以示佩服。
但神奇的是,代码在执行上基本没太多的错。
直到几个月前,一个大牛在走之前把这段代码全部重写了一遍,留下了至今都没有改完的bug。
就说几个自己感触最深的吧,新手同学务必看过来!
前人血和泪的经验教训!!!
第一,代码简洁易懂
极其重要的第一原则,必须重视。刚入程序员坑的时候,觉得秀各种奇淫巧计很高端大气上档次,现在回头看,只觉得自己Too yong, Too simple。大道至简,代码是写给人看的,庞大成熟的工程项目中,绝不会只依赖一个程序员,简洁易懂是大家协作的基础
第二,足够清晰,足够简洁的注释信息
不要不写注释,因为别人真的不知道你咋想的;不要写一大堆没用的注释,因为别人看的头会痛。
标准原则是,关键地方,关键定义或者调用,写清楚注释;代码,变量函数的定义清晰明,代码本身也是注释。这样看是不是和第一条有重合,保证你的代码简洁易懂。
很多人不是天生就能写一手好代码,特别是刚开始工作一两年的程序员。如果公司不注重代码质量,只需要简单写***释,没有代码review的喜欢,那提高代码质量全要靠自己了。
一般公司会从你的代码质量评估你的个人能力,推荐看下阿里巴巴j***a代码规范,网上有相应文档,还有相关书籍,比如《重构改善现有代码设计》,《effective j***a》等书籍,对提升代码质量很有帮助。
0x01 先看注释
这一点很重要,放在第一点来说。很大程度上注释反映了一个程序员的编码思路,你可以从注释中看到一个程序员对业务的理解程度,甚至编码的态度。好的注释可以让你轻松的阅读代码,不费吹灰之力快速了解一段代码的核心思路,仿佛一切都是水到渠成,对这种代码的修改或者扩展也是如沐春风。但是如果一段代码注释混乱或者根本就没有注释,那么后期维护难度可想而知,即使原作者过个把月再回来看这段代码也会骂一句,屎一样。
0x02 代码整齐度
这个很好理解,举个栗子,见下图
这种代码让人提不起阅读的欲望,写这种代码的程序员是不是一个好的程序员大家自己判断。
再看看下面这段
辞职每天自学四小时编程,会比大厂在职的程序员成长慢吗?
我觉得看主要看自制力吧,前端的尤大大不是也没去哪个大厂就职吗,依然很牛啊,反倒是在大厂天天写业务代码,到头来锻炼不了啥技术,大厂哪有那么多新技术敢用,哪有那么多优秀代码可以看,自己在家研究,多看看github优秀开源项目挺好,感觉进步会更快,然后自己写demo,搞个啥系统各种新技术全都随便用
当然了,你在大厂里在职的程序员,学的是实战能力,而且有不同同事交流,互相学习速度很快,也能早到乐趣,如果你自学四个小时,你自己如果接触不到大公司的平台,就只学到的是理论,而且你学的和实际用的可能出现偏差,而且你没有平台,也无法验证自己的代码的执行效率,也无法结合公司的项目做出具体的方案。而且你也挣不上钱,所以有可能务必进入公司,即使是小公司也没关系。
每天自学编程的话,甭管四小时还是八小时,与大厂在职的程序员相比,肯定是有差距的,为啥?请继续看。
我是数字视听科普达人,关注我,早上 8、9点和您聊聊有趣、好玩的家庭视听类科技!
在大厂里,程序员能接触到很多人,这些人的技术的技术可能达不到大神级别但也是小神级别的,天天与周围的这些人打交道,可以学到很多书本上学不到的知识,有时候也许是别人的一句话就胜过你去读一本厚厚的技术书,这可是自学怎么都比不上的。
在大厂里,程序员能接触到很多的项目,通过一个个的项目,程序员能巩固已有的技术知识,学到新的技术知识,并且能够了解整个项目的生命周期。时间长了之后就可以做项目管理。这些是仅仅靠自学也学不来的。
题主觉得自学编程可能会达到大厂程序员的水平,这其实还是一种学生思维。学生思维就是觉得自己好好读书就能考高分,同理就能进大厂、达到大厂程序员的水平,其实不是这样的。
大厂要的是实际项目的经验、动手操作能力、解决问题的能力,而不是书本上的理论知识。
辞职每天自学四小时编程,会比大厂在职的程序员成长慢吗?
我觉得这个答案应该在所有人心里都是统一的。毫无疑问是比大厂在职的程序员成长慢的,而且是慢很多很多。
程序员并不是一个理论多余实践的职业,很多时候,程序员在代码过程中的问题,都是基于场景和业务出现的。所以,对于一个优秀的程序员来说,解决问题的能力是要强于写代码的能力的。
对于一个程序系统而言,我们需要经过[_a***_]调研、需求分析、产品设计、UI/UE设计、研发、测试很多的阶段,最终才能够上线。而上线过程中,我们可能还会因为架构上的不同,在发版方式上有着各种的不同。
一个程序员,每天自学编程,就好像一个大学生每天学习编程一样,得到的知识也就仅仅是书本上的知识,没有任何的应用场景,也不可能有强大的服务器***提供给你玩各种框架的研发,最终得到的,不过是一个和应届毕业生相差无几的学习效果。
而一个普通互联网公司的程序员,至少是有应用场景的,可以针对这些应用场景进行研发,公司也会有相应的产品经理、测试人员配合进行系统的设计和测试,你就能够专注于技术上的学习和提高。可能对于小公司来说,架构不会很大,服务器***也有限,所以你可能应用的东西相对较少,即使有很多新的技术出现,也不一定能够用到项目上,所以提升也就较慢,但是肯定不是一个还在自学的人能够比得了的。
而一个大厂的程序员,那首先***就不同,各种优秀的人才聚集,服务器的***可以说绝对能够满足你的需要,再加上很多新技术的应用,架构的应用,高并发的场景,你能够接触非常多的尖端的技术。当新技术出现时,只要你愿意,公司也会投入一定的***,让你研究新技术,看看是否能够在项目中得到应用,这是大公司才有的研发投入。这会让你飞快的提升,可能在一个小公司,你5-8年都不一定能够独立进行大型项目的架构,但是在大厂,可能你3年就有这个水平了。
但不管如何,这都不会是一个在家自学的人能够达到的高度。
要知道,对于大厂的程序员,每天写代码,思考解决方案的时间基本都在10个小时以上。而且,工作结束以后,他们可能还会在根据今天发生的问题,在工作之余,查找资料,寻找解决方案,然后进行验证。
这样算下来,一个大厂程序员,每天可能有一半的时间都在不停的学习,而且是在优质的***环境中进行学习,遇到了问题,还有很多的大牛可以请教。
一个每天仅仅学习四小时的人,想要和一个在高质量学习12小时的人比较学习成绩,这差距简直太大了。可能我们在自学的时候,遇到一个难题,自己百度,自己查资料,用了3-4个小时解决了。但是大厂的程序员,只需要花5分钟,问问旁边的人就解决了,再花20分钟时间来吸收,了解原理,效果可能比自学花费的3-4小时更好。
到此,以上就是小编对于学习编程的短板的问题就介绍到这了,希望介绍关于学习编程的短板的2点解答对大家有用。