我们可以从大处着眼,参考代码质量评判标准,只要有 这段代码是否可读,可扩展性,可维护性,是否灵活,是否简洁,是否可复用,可测试。落实到具体细节。我们可以从以下几个方面来审视代码。

  1. 目录设置是否合理。模块划分是否清晰,代码结构是否满足 高内聚, 松耦合
  2. 是否遵循经典的设计原则和设计思想 例如 solid dry kiss yagni lod
  3. 设计模式是否应用得当?是否有过度设计?
  4. 代码是否容易扩展?如果要添加新的功能,是否容易实现?
  5. 代码是否可以复用?是否可以复用已有项目的代码或者类库?是否有重复造轮子
  6. 代码是否容易测试?单元测试是否全面覆盖了各种正常或者异常的情况
  7. 代码是否容易阅读?是否符合编码规范(比如命名和注释是否恰当,代码风格是否一致等)

重构的步骤:
第一轮重构:提高代码的可读性。
第二轮重构:提高代码的可测试性。
第三轮重构:编写足够用的单元测试。
第4伦重构:合理恰当的注释。

代码鸡汤

即便是非常简单的需求,不用水平的人写出来的代码,差别可能会很大。我们要对代码质量有所追求,不能只说凑活能用就好。花点心思写一段高质量的代码,比写100段凑活能用的代码,对你的代码能力提高更加有帮助

知其然知其所以然,了解代码优秀设计的演变过程。比学习优秀设计本身更加有价值。知道为什么这么做。比单纯地知道怎么做更加重要,这样可以避免你过度使用设计模式,思想和原则

设计思想,原则模式本身并没有太多“”“高大上”的东西。都是一些简单的道理,而且知识点也不是很多,关键还是锻炼具体问题具体分析的能力,吧知识点恰当用在项目中

高手之间的竞争都是在细节。大的架构设计,分层,分模块思路实际上都是差不多的。没有项目是靠一些不为人知的设计来取胜的。即便有,很快也能被学习过去。所以,关键还是看代码细节处理得够不够好。这些细节的差别累积起来,会让代码质量有质的差别。所以,我们想要提高代码质量,还是要在细节处下功夫。

1

当程序员时,我是属于那种勤勤恳恳型的员工,工作态度用认真来形容不为过,几乎是部门里最早到公司,又最晚下班的一个。而组员李工恰好相反,准时上下班。项目进度紧时,他也很少加班,偶尔也就加那么一两次,有时有问题要和他商量一下,都见不着人影了

                                 2

从李工提交的代码看,他的代码写得很规范和优雅,大的不说,当从对一些控件进行封装处理,抽取出来作为公用,还做了拓展,方便给其他组员调用,要是模块中需要用到类似的,都不用自己开发,调用他的控件传递不同样式即可。就已经很让羡慕了
而我所谓的工作时间长,其实大多时间是在重复地造轮子,代码冗余多,一个相同的功能,重复做,没有封装优化,把自己累得够呛,现在想想,真的活该啊,把本该出门享受阳光的滋润的时光,我却在代码里虚度过。

职场上,不得不说勤奋是一种非常好的品质,通往努力争取升职加薪的路上,蜿蜒于勤奋劳动的沼泽之中,是一段需要勤奋与艰辛的历程。俗话说:笨鸟先飞。意思是要不落后,就要比别人勤奋,比别人多努力一些。对于刚刚踏入职场的职场新人,别让伪勤奋害了你,要学会适当的让自己偷懒。

前不久,表妹突然跟我说她也想学编程,吓了我一跳,一个女孩子,好好的会计工作你不干,你来折腾这个。原来是她的工作最近有许多数据报表要处理,和她一起的还有有林工和张工,她和林工每天忙得上洗手间都得小跑,每天都加班到晚上10点多,而张工却表现得轻松自如,工作量相当,她8点多就走人了。后来一问才知,原来张工大学时学过VB编程语言,有一定的编程基础,在excel中用宏实现单一功能或复杂功能的VBA代码的集合,减少很多工作量。表妹和林工,把一切的精力都消耗在许多的重复性工作中,没有精力去接受更多的工作量。张工看起来相对没那么勤奋,但擅于思考,同样把工作完成了。很多人认为自己分明付出了比他人更多的努力,却与升职加薪无缘,不说其他原因,其中有一点,我想大概就是这个原因。不少人的勤勉仅仅流于形式,很容易造成一种假象,认为自己很努力,很积极,很勤奋,“埋头苦干”而疏忽了去做那些能自我提高的工作。

完成一件事,方法有多种,要学会适当偷懒,别让伪勤奋害了你。别人在KTV欢唱明天会更好,而你在办公室里埋头苦干,却没有什么成就。

时常看到有些人动不动就炫耀自己一个月多了多少本书,但你和他们真正接触时会发现,虽然他们读了这么多书,想法却没有什么深度。本末倒置,甚至停滞不前。

这里列几条小建议,希望对你有帮助:

1—给自己指定一个工作计划,做一个工作列表,把每日需要做的具体工作按照轻重缓急排列,指定工作计划每日的工作才有方向,才不走冤枉路,马装车好不如方向对,没有方向瞎忙活,多勤奋也是枉然。

2----注意力要集中,避免分心,要学会善于集中精力做一件事,而且是做好这件事。工作切忌不能三心二意,那样只会捡了芝麻掉了西瓜,甚至哪件事都做不好,让别人怀疑你的能力。

3----不要硬头皮干,学会把工作简化,面前的大山被你简化成小山丘,是不是豁然开朗,起到了事半功倍的效果。

4—适当让自己多充电,尤其是专业知识,只有不断更新知识,不断学习,才能更有效的应对日新月异的职场问题,处理高难度的工作难题,才能提高工作的应对能力,比别人更有效率。

5—要有紧迫感,不断的督促自己,要有危机感。工作时禁忌怠慢心理,优哉游哉的心境适合逛商场,别人一小时就能做完的工作,要是没有紧迫感优哉游哉地,怕是下班都墨迹不完,久而久之,就养成了一种习惯,这并明智。

6—再忙也要注意劳逸结合,一味的埋头工作,就像老牛拉犁一样,人的体能是有限的,大脑也是需要休息的,超负荷的工作只能降低工作效率,产生事半功倍的结果。适当的放松下,工作间站起来多活动几分钟,喝杯水,让身心放松下来。

别让伪勤奋耽误了你的前程,要学会“偷懒”,记得低头认真做事的同时,要时常抬头看路。别兜兜转转兜了一圈后,最后才发现会到了原地。

代码质量 重构 代码鸡汤相关推荐

  1. 如何提高代码质量:代码复查

    如何提高代码质量:代码复查 软件项目普遍存在的问题 1)新手 任何项目组成员都不可避免地出现新手,他们往往是刚刚从大学毕业的学生.这些新手由于软件开发时间太短,往往技术不成熟,没有形成良好的开发习惯, ...

  2. 说说代码质量、代码安全和软件测试那些事

    作者 | 灰狐 来源 | 灰狐 最近工作需要,把代码质量.代码安全和软件测试做了一下梳理,并思考将它们更好的融入日常研发和 DevOps 流水线. 今天,就和大家简单聊聊代码质量.代码安全和软件测试的 ...

  3. idea,配置checkstyle 【提高代码质量,检查代码规范的工具 】Checkstyle,FindBugs,PMD,Jtest

    idea,配置checkstyle [提高代码质量,检查代码规范的工具 ]Checkstyle,FindBugs,PMD,Jtest 2016年12月15日 14:19:02 common_util ...

  4. idea 配置checkstyle【提高代码质量,检查代码规范的工具】

    下面主要介绍IDEA,如何配置,使用checkstyle 1.CheckStyle插件安装和使用 一,打开settings的plugins,点击查找CheckStyle-IDEA安装,如果查找不到,B ...

  5. jenkins插件findbugs+pmd+checkstyle结合sonar与maven(java环境代码质量和代码规范管理)...

    一.下载jdk并安装(最好jdk官网下载解压安装的) 二.下载maven并安装maven 三.安装jenkins及插件 安装checkstyle.pmd.findbugs.maven.sonar等相关 ...

  6. 前端代码质量-圈复杂度原理和实践

    写程序时时刻记着,这个将来要维护你写的程序的人是一个有严重暴力倾向,并且知道你住在哪里的精神变态者. 1. 导读 你们是否也有过下面的想法? 重构一个项目还不如新开发一个项目... 这代码是谁写的,我 ...

  7. 代码质量与规范,那些年你欠下的技术债

    提到"质量"二字时,我们的第一反应往往是"有多少BUG?""性能好不好?"这样的问题.我们对软件产品或服务的质量定义看其能不能满足用户的需求 ...

  8. 怎么提高代码质量?-来自Google的研发经验总结

    你的团队有没有过这样的经历:开发效率低,招了很多人,天天加班,出活却不多,线上bug频发,领导发飙,中层束手无策,工程师抱怨不断,查找bug困难.其实这些都是代码质量差惹的祸.代码质量是研发质量管理的 ...

  9. ReSharper智能插件,ReSharper分析代码质量

    ReSharper智能插件,ReSharper分析代码质量 ReSharper 是 Visual Studio 的智能插件.它配备了一组丰富的功能,包括智能编码辅助.即时错误突出显示和快速纠错.ReS ...

最新文章

  1. java用关键字 指明继承关系_【填空题】java中用关键字 指明继承关系、用关键字 指明接口实现。...
  2. 【Linux】时间同步设置+防火墙设置+SELinux设置
  3. Socket笔记【转】
  4. 大小端判断和网络字节序
  5. Android应用清单文件:AndroidManifest.xml
  6. Mybatis的xml配置实例
  7. .net IntPtr ==interoperable pointer
  8. 移动开发—媒体查询(Media Query)
  9. 如何给一家公司做定性研究?
  10. 什么是引发?Java运行时系统引发的异常如何处理?
  11. 最短路经典 昂贵的聘礼(1062)
  12. web的demo制造_简单的C++图像算法web端Demo制作
  13. MPM模型及ab压力测试
  14. linux服务器硬盘检测,在Linux服务器中检查硬盘坏道的命令
  15. RedisDesktopManager(Redis可视化工具)
  16. 手把手教你如何制作iPhone卡贴(多图)
  17. 计算机网络——网络层路由协议、IP组播、移动 IP、路由器
  18. 数据在网络层的传输过程
  19. 深入浅出matplotlib(49):Pyplot使用指南的笔记
  20. 线程池shutdown和shutdownNow原理和区别

热门文章

  1. Zookeeper集群安装Version3.5.1
  2. android手机连接windows,将Android手机投影到Windows 10 PC [夏昆冈]
  3. DOM(三)——创建删除元素及优化(文档片段)
  4. Vue之动态组件(二)
  5. AOP五大通知注解详解
  6. php打印预览jquery,php 实现打印预览的功能
  7. react前端显示图片_如何在react项目中引用图片?
  8. (四)java版spring cloud+spring boot 社交电子商务平台-断路器(Hystrix)
  9. 企业局域网内如何跨网安全传输数据
  10. 【转】poj 1823 hotel 线段树【Good】