重构你的不良编程陋习

简介: 保持代码整洁和高效并不容易,作为一名开发者,可能会有那么几天,所从事的开发项目会让人感到沮丧。也可能会有几天只想复制和粘贴代码,写出曾经写过的最程序化、重复性最强的垃圾代码,然后下班回家。

保持代码整洁和高效并不容易,作为一名开发者,可能会有那么几天,所从事的开发项目会让人感到沮丧。也可能会有几天只想复制和粘贴代码,写出曾经写过的最程序化、重复性最强的垃圾代码,然后下班回家。

要改掉这些坏习惯绝非易事,一旦它们养成了,就必须制定一些策略来触发大脑中来进行重构。一旦发现了一条讨厌的捷径,或者消极的态度蔓延开来,那么也是时候挑战它了,重构一下你的编程逻辑,让头脑清醒一下。一个程序员的价值不仅在于他直接创造的价值,还包括为团队带来的文化价值!

不要停下来

一个巨大的项目丢在了你的腿上,开始遍历所有不同的组件来构建、交互和所需的基础设施。甚至不知道从哪里开始,先构建这个元素还是那个元素更有意义?

解决这个问题的方法很简单:没关系。

只要开始削减项目,它最终就会开始变得有意义。

总会开始看到它的边界,并会慢慢成型。也会开始明白事情应该和不应该怎么处理。也许甚至会开始编写一小段代码,但后来意识到它无法运行并废弃它。

“只要不停下来,走多慢都无所谓。” —— 孔子

克服这种状态最重要的是动力,只有你想不想的问题,只有不断去改变自己的不良习惯,才会取得更大的进步。任何舒适的感觉都会麻痹自己不进则退。

没有什么是完美的,必须选择一个地方开始并尝试它。可能会开始构建部分 API,只是为了了解需要优化的数据库。可能在项目开发中发现很多工作可以开发一个脚手架。这些都是有意义的,一个程序员的意义在于创造的价值大否。

认真评审PR

我们都去过那里,积压的代码评审正直直地盯着我们。处理“你自己的工作”同时还要评审“别人的”的编码行为?—— 那是你的工作。

如果没有建设性和有效的代码评审意见,将无法推动可能更好的代码。无论认为自己多么令人难以置信,总会有其他人会抓住的东西。即使是一个看似无伤大雅的小评论,也几乎总是对作者有利。

每一次代码评审,都努力投入大量的精力来改进代码库和整个开发团队。Reviewer 的代码变得更好了,作者的代码也就变得更好,是相互提高。

减少编写重复代码

对于这个标准,建议是当项目开发中出现复制代码的时候,就需要静下来思考是否可以有更好的方式?当然这需要一个强大的自制力来约束自己,因为复制代码和编写高质量可重复利用的代码,在开发中很容易就步入后者,某种意义上来说复制代码可以保持高效。

危机感

我是一个对安全感焦虑的人,特别是作为一个开发人员,如果在团队中过得安逸,会让自己很焦虑。危机感可以逼迫我们不段去学习,去总结。

避免脾气暴躁

经常开玩笑说开发跟产品又打架了,大部分情况是脾气暴躁,不要成为一个脾气暴躁的程序员。脾气暴躁的程序员自称见过一切,知道什么是最佳的方式,包括我自己,要努力避免,因为这对于团队来说没有任何意义,还会产生负面影响。

当这种情况发生时,这意味着不开心或者受别的事情干扰了情绪,可能是当前的角色、工作量或一个特别讨厌的项目需求,找到它的根源并调整好或者给自己放个假。


相关文章
|
8月前
|
人工智能 自然语言处理 安全
如何提升代码质量,重构并非“万能药”
随着编程技术的不断进步,编程语言变得越来越高级,功能封装也越来越完善。各种技术都在帮助程序员提高编写代码的效率。通过层层封装,程序员似乎不需要了解技术细节,只需逐行翻译需求内容即可。 许多程序员不了解如何组织代码、提升运行效率以及底层基于的原理是什么,但是他们编写的代码通过了编译、测试,并且在上线运行了一个月而没有出现问题,似乎并没有对他们的实际工作产生明显的负面影响。
|
Web App开发 编解码 监控
防御性设计和开发
“防御性编程(Defensive programming)是防御式设计的一种具体体现,它是为了保证,对程序的不可预见的使用,不会造成程序功能上的损坏。它可以被看作是为了减少或消除墨菲定律效力的想法。”
718 0
防御性设计和开发
|
设计模式
重构·改善既有代码的设计.04之重构手法(下)完结
重构改善既有代码的设计完结篇,汇总了全部的重构手法。看看哪些手法对你的项目能有所帮助…
7360 2
重构·改善既有代码的设计.04之重构手法(下)完结
|
设计模式
重构·改善既有代码的设计.03之重构手法(上)
之前的重构系列中,介绍了书中提到的重构基础,以及识别代码的坏味道。今天继续第三更,讲述那些重构手法(上)。看看哪些手法对你的项目能有所帮助......
19217 1
重构·改善既有代码的设计.03之重构手法(上)
|
设计模式 测试技术
重构·改善既有代码的设计.02之代码的“坏味道”
之前在《重构·改善既有代码的设计.01》中初步了解了重构的基本前提,基础原则等入门知识。今天我们继续第二更......
167 1
重构·改善既有代码的设计.02之代码的“坏味道”
|
自然语言处理 算法 JavaScript
重构的秘诀:消除重复,清晰意图
  11年前有幸阅读了《重构——改善既有代码的设计》第一版,当时是一口气读完的,书中的内容直接惊艳到我了。   今年读了该书的第二版,再次震撼到我了,并且这次的示例代码用的JavaScript,让我更有亲切感。   全书共有12章,前面5章是在讲解重构的原则、测试、代码的坏味道等内容,后面7章是各种经验和实践,全书的精髓所在。
|
Cloud Native 算法 前端开发
如何面向对象做好重构?|83行代码
由阿里云云效主办的2021年第3届83行代码挑战赛已经收官。超2万人围观,近4000人参赛,85个团队组团来战。大赛采用游戏闯关玩儿法,融合元宇宙科幻和剧本杀元素,让一众开发者玩得不亦乐乎。本文作者:83行代码优秀参赛选手。
305 0
如何面向对象做好重构?|83行代码

相关实验场景

更多