java编程课程培训学习笔记|代码编程技巧
随着近几年Java工程师需求的不断增长,已经有很多零基础的人想通过Java培训想转行做Java工程师,这就需要我们在转行前掌握Java编程技术,但在学习过程中不免遇到各种各样的问题,为解决大家在学习时的问题,北京八维教育培训学校整理了一份java课程培训学习笔记——代码编程技巧。
一、不要一上来就开始写代码
你可能性子急,也可能早已按耐不住跃跃欲试昨天刚学会的一个编程小技巧,我想要告诉你的是,不急,收起你那磨刀霍霍的表情,在你拿到需求准备写出你第一行代码之前还有更重要的事情要做。
我想怎么强调这件事情的重要性都不为过,在我以前写的自己非常满意的代码经历中,我都采用了这个方法,它能消灭原来可能会被测试提的90%的Bug单,甚至做到零缺陷,当然做到这点可能需要一个过程。
拿到需求之后你首先要问下自己对需求是不是已经充分理解了,得到肯定的回答之后,我们就可以开始了:
1) 先在你忙碌的工作中,找出你能完全掌控的一个小时时间段,这一个小时完全属于你自己,保证这一个小时不会有任何打扰,或者任何能影响到你执行不下去这个方法的打扰。要记住这一个小时非常重要,比你后面要执行的所有活动的时间都重要,它绝对值得。
2) 在第一张白纸的上方写下“该需求特性的正常流程和影响范围”,然后在白纸下方逐条开始写下该需求特性正常流程包含的内容,大概会使用到哪些库函数,会提供出哪些接口,是否会影响版本升级,是否影响资源文件,是否影响原有的接口等等。
3) 在第二张白纸上方写下“该需求特性所有的异常场景和本人以往经常会犯的一些错误点”,然后在白纸下方一条一条的开始往下写。
4) 不断重复第2)、3)步。
你可能会觉得这不就跟写的需求澄清材料差不多吗,我要告诉你的是这是两回事,它不是一项质量专员要求你做的质量过程活动,这是你自己和自己之间的一次深层次对话,这不需要告诉任何人,不需要向其他领域输出任何交付物,这是对自己要写出优秀代码的一次自我驱动。
一开始你可能会觉得很难,写几条就写不出来了,或者闪过“这玩意儿是不是真的有用”的念头,不用着急,起身去窗户边呼吸一口新鲜空气或者去打杯水喝,总之不要中断,除非办公室着火了,不要去干让这件事继续不下去的事情。
当你慢慢往下写到第20或者第30条答案的时候,你可能突然会有一种“这么隐晦的一个异常点都被我发现了,简直太牛了!”的情感涌出,这个时候你会暗暗惊呼有点难以抑制自己的兴奋,这说明你快要接近成功完成了,后面每写出来的一条都会让自己感动。
记住,中间不要放弃,你坚持下去的决定会将这一个小时变成你整个需求实现当中最重要的一个小时。
二、先忘掉后面还有该死的质量活动
所有编码之外的质量活动,都是基于公司对于你写代码水平的不信任产生的。
也就是说公司花了大量的钱招来质量专员、网元测试、解决方案测试这些人都是因为你没把代码写好造成的浪费。
常见一些开发人员,刚来的时候对质量专员安排的质量活动颇有微词,“我以前公司做项目根本不需要做这些东西还不是一样能把项目做完”,“这些质量活动,简直就是对编码时间的侵占”。
说这些都没问题,但是你一边说着这些一边写完代码后Bug就乌泱乌泱上来,是不是有点不要脸?质量专员设计的这些活动,就是为了不让你的烂代码一泻千里的冲到客户面前设计的一个个检查站,当你对于“写出好代码”什么事都没做,只想着取消这些质量活动的话,就只能理解为耍流氓了。
那么,做好质量活动就能“写出好代码”吗?
答案是不能。
质量活动只是质量专员的监管手段,它既不是目标甚至也不是方法,你写代码的目标不是要满足质量活动标准,而是要追求零缺陷,也不会因为你Wbit测试做的好就能写出好代码。
你要做的一个是“不要一上来就开始写代码”,另外一个就是掌握尽量多的重构方法,重构思维方式,掌握重构并不一定是要对原来代码的重构,而是下笔之前就知道好代码该怎么写。
我让大家忘记质量活动,不是让大家不听质量专员的话,而是大家在写代码的时候要心中存有敬畏,代码写完之后所有的活动都是你造成的浪费,你要为消除这些浪费而竭尽全力。
三、你要记住,你写的代码是给人看的
我之前听一位同事讲他上一家公司的一件听来十分惊悚的故事:
他原来公司的一位同事离职了,留下的是一堆十分复杂,看了会让人神经错乱的C++代码,他走了之后,发现整个项目组的人没有一个人能接手得了他的模块,项目经理不得不高价加请客吃饭的方式让他过来给全项目组的人讲两天他的代码。这个家伙大有“看吧,只有我才能搞定”的“衣锦还乡”姿态。我好奇的是这个项目经理为什么没有尽早的开除他,简直就应该报警啊。
好的代码是让人看来赏心悦目的,任何能力不够或者炫技成分的增加人的阅读障碍的行为都需要被改进,你能不能三两句话就能说清楚你自己写出来的代码的脉络,当然这同样涉及到你要掌握尽量多的重构方法和重构思维方式。
另外还有一个自我评判的标准,就是你扪心自问一下,“你写了这么多代码,你曾经为之动心过吗?”你是否写完之后会忍不住的反复阅读自己写完的代码,并连连暗暗惊叹代码之美?
作为一名程序员,希望在你某天离开公司后回想起的若干个开心时刻中,有一个会是因为你面对自己刚刚出炉了一份让自己心动的代码的那份感动,而不要成为上面提到的那个“离开后,公司才知道他有多么重要”的家伙。
四、现在开始,刻意练习
你是否发现自己长期维持着“刚刚好能完成story”的代码水平,写了好几年代码仍然会被测试人员追着屁股提单?
种种疑惑是因为代码能力的提高跟你写了多少年代码没有直接关系,你需要做的是刻意练习。
比如把我前面提到的方法反复练习,或者把你自己琢磨出来的方法分解成一项项的环节,刻意的去练习,从测试那里得到反馈,然后不断加以改进,慢慢你就会从一个整天被测试人员追着跑的人,变成发现自己很容易就能达到质量过程标准的人,再慢慢就会发现你写出来的代码测试人员越来越难发现问题,最后只要你状态好点就能经常性的写出零缺陷的代码。
其实有些道理我们貌似都知道,但是我觉得离真正懂得还差了两步,第一就是你需要亲身去经历、践行这些道理和方法,第二就是你要能够转述并让其他人也能够明白。
所以最好的学习方式就是亲身经历,然后写下来分享给大家,这样才能让你真正懂得那些你原来认为懂得了其实未必懂得的道理。
开班信息
热点问答
面试题库
IT培训技术知识分享:java开发工程师需要掌握哪些知识?
IT技能云计算培训技术干货Kubernetes教程分享
IT行业解惑:2023Java行业就业发展前景怎么样?
IT行业解惑:2023从Java培训班出来好就业吗?
IT行业解惑:java和php哪个好?
IT行业解惑:java后端开发需要学什么课程?
IT行业解惑:java和c++哪个好?
IT行业解惑:零基础学前端好还是学java好?
IT行业解惑:女生学学云计算技术与应用就业发展前景怎么样?
IT行业解惑:java从入门到精通需要多久?
IT行业解惑:学java要学多久才能参加工作?
IT行业解惑:java编程开发可以从事什么工作?
IT行业解惑:云计算主要学什么课程内容?
IT行业解惑:java就业发展前景怎么样?
IT培训技术知识分享:零基础java编程开发入门应该怎么学?
IT培训技术知识分享:java编程开发有哪些技术?
IT行业解惑:女生适合学java编程开发吗?
IT行业解惑:IT云计算学习是否很难?
推荐问答
IT行业解惑|优秀的java软件开发工程师需要具备什么能力
Java作为一门广泛应用于企业级应用和开发的编程语言,一直以来都备受青睐。然而,对于那些对Java软件开发工程师感兴趣的人来说,他们经 ...
IT行业解惑|学习云计算有前途吗?
目前,衣食住行等各种基于互联网的服务都在产生大数据,大数据的处理和分析需要云计算。云计算的应用极大地改变了人们的生活方式、消费 ...
IT行业解惑|零基础如何学习云计算?
云计算是近年来的一项新技术。在云计算技术出现之前,没有人知道云计算,大学也没有开设云计算相关的课程。第一批从事云计算工作的人基 ...
IT行业解惑|java软件开发工程师就业前景怎么样?
对于那些想要转行Java软件开发工程师的人来说,门槛相对较低,但是要想有一个长远的职业规划,需要认真规划职业发展。...
IT行业云计算java培训课程学习笔记|Java程序员必须熟知的十项技术
在我们学习过程中需要我们去掌握一些常见的Java编程技术,那么有哪些技术是必须掌握的呢?北京八维教育培训学校整理了一份java课程培训学习笔记——Java程序员必须熟知的十项技术。...
IT技术解惑|Java工程师如何提升职场竞争力
Java作为一门广泛应用于企业级应用和开发的编程语言,一直以来都备受青睐。然而,对于那些对Java开发感兴趣的人来说,Java工程师如何提升职场竞争力呢?...
IT行业云计算java培训课程学习笔记|Java程序员必须掌握的英语词组(九)
学习Java编程语言技术,都会学习哪些内容?北京八维教育培训学校先分享整理好的一份IT行业云计算java培训课程学习笔记中的Java程序员必须掌握的英语词组...
IT行业云计算java培训课程学习笔记|Java程序员必须掌握的英语词组(八)
学习Java编程语言技术,都会学习哪些内容?北京八维教育培训学校先分享整理好的一份IT行业云计算java培训课程学习笔记中的Java程序员必须掌握的英语词组...
IT行业云计算java培训课程学习笔记|Java程序员必须掌握的英语词组(七)
学习Java编程语言技术,都会学习哪些内容?北京八维教育培训学校先分享整理好的一份IT行业云计算java培训课程学习笔记中的Java程序员必须掌握的英语词组...
IT技术解惑|云计算入门必备常识
云计算技术说难不难,说简单也不简单。首先我们要了解一下什么是云计算。云计算是基于互联网的相关服务的增加、使用和交互模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的...
IT技术解惑|云计算技术主要学什么?
目前云计算岗位有核心技术多样化,就业岗位全面化的趋势,云计算工程师既要掌握虚拟化、容器、自动化运维及云平台等核心技术,还要了解 ...
IT技术解惑|云计算运维的就业方向有哪些?
云平台运维工程师。云平台运维工程师是云计算运维中最主要和基础的职业方向之一。他们负责管理和维护云计算平台的稳定性和性能,确保云 ...
IT技术解惑|云计算技术人才未来就业发展前景怎么样?
面对未来云计算产业的飞速发展,无论从技术层面,运营商层面还是集成与服务提供层面,企业对于云计算技术人才需求数量激增。...
java编程课程培训学习笔记|易疏忽的日志
当下越来越多的人学习Java编程技术,需要我们从基础知识学起,学好之后还要掌握一定的主流Java技术,那么有哪些技术是必须掌握的呢?北京八维教育培训学校整理了一份java课程培训学习笔记...
java编程课程培训学习笔记|equals 方法和==究竟有什么区别
我们学习过程中需要我们去掌握一些常见的Java编程技术,那么有哪些技术是必须掌握的呢?北京八维教育培训学校整理了一份java课程培训学习笔记——equals 方法和==究竟有什么区别。...
java编程课程培训学习笔记|volatile关键字有什么作用
我们学习过程中需要我们去掌握一些常见的Java编程技术,那么有哪些技术是必须掌握的呢?北京八维教育培训学校整理了一份java课程培训学习笔记——volatile关键字有什么作用。...
java编程课程培训学习笔记|缓存的淘汰策略有几种方式
目前Java编程技术发展很迅速,有哪些Java编程技术是必须掌握的呢?北京八维教育培训学校整理了一份java课程培训学习笔记——缓存的淘汰策略有几种方式。...
java编程课程培训学习笔记|数据库如何保证主键唯一性
目前Java编程技术发展很迅速,有哪些Java编程技术是必须掌握的呢?北京八维教育培训学校整理了一份java课程培训学习笔记——数据库如何保证主键唯一性。...
java编程课程培训学习笔记|redis持久化的方式
目前Java编程技术发展很迅速,有哪些Java编程技术是必须掌握的呢?北京八维教育培训学校整理了一份java课程培训学习笔记——redis持久化的方式。...
java编程课程培训学习笔记|受欢迎的Java类
目前Java编程技术发展很迅速,有哪些Java编程技术是必须掌握的呢?北京八维教育培训学校整理了一份java课程培训学习笔记——受欢迎的Java类。...
八维教育启动“晨曦破晓”计划
以科技助力高薪破局
以科技提升系统效率
以科技提高服务质量
八维教育助力学子优质就业!
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通