首页 > 编程语言 >03-《程序员修炼之道——从小工到专家》阅读笔记

03-《程序员修炼之道——从小工到专家》阅读笔记

时间:2023-06-11 15:57:17浏览次数:46  
标签:03 代码 重构 小工 程序员 时间 我们

  重写、重做和重新架构代码合起来,称为重构。那么我们该在什么时候进行重构呢?当你遇到绊脚石——代码不再合适,你注意到有两样东西其实应该合并或是其他任何对你来说是“错误”的东西,那么你不要对改动犹豫不决,应该现在就做。但往往现实世界特别复杂,当你去找你的老板和客户,对他们说:“这些代码能工作,但我需要再用一周时间重构它”,你猜猜他们会怎么回答?时间压力常常被用作不进行重构的借口,但是这个借口并不成立:现在没能进行重构,沿途修正问题将投入多得多的时间——那时将需要考虑更多的依赖关系。我们会有更多的时间可用吗?

  为什么这些做法不好呢?当我们快速复制别人的代码时,代码中可能包含了我们并不需要的段落,或者是出现了我们并不理解的逻辑,这会导致我们的代码不够清晰、不够简洁。另外,如果我们使用之前成功的代码来解决新问题,那么我们就会变成一个只能解决管理员问题,却不能写出优秀代码的程序员。最后,当我们不写注释时,这会让后来的程序员很难理解我们的代码。如果我们自己再次回到代码中,那么我们也会第一时间想到自己感到困惑的地方,而不是直接进入改进的脉络。

标签:03,代码,重构,小工,程序员,时间,我们
From: https://www.cnblogs.com/YFLZ/p/17473035.html

相关文章

  • 03-《梦断代码》阅读笔记
    BM执行强制进度纪律的成功基于两条原则:1)计划是强制性的2)计划必须符合现实情况----“从底向上”,依据那些负责按计划执行的程序员的经验和知识而来,而不是“从顶至下”,靠管理者拍脑袋或对市场的期望而来。没有任何一种方法论能够覆盖软件项目的广大领域;结构化编程、改进组织代码......
  • Day03学习日志
    Day03学习日志类型转换由于Java是强类型语言,所以要进行有些运算的时候的,需要用到类型转换。运算中,不同类型的数据先转化为同一类型,然后进行运算。低->高顺序:byte,short,char->int->long->float->double注意:强制转换(类型)变量名高--低自动转换......
  • 算法学习day53动态规划part14-1143、53、1035
    packageLeetCode.DPpart14;/***1143.最长公共子序列*给定两个字符串text1和text2,返回这两个字符串的最长公共子序列的长度。*如果不存在公共子序列,返回0。*一个字符串的子序列是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些......
  • 程序员自由职业的第一次接单,我踩了哪些坑?
    Hello,大家好,我是吹白,今天来聊一聊我自由职业之后接的第一个单子以及这个单子带给我的经验教训,希望对大家避坑有所帮助。说来惭愧,在深圳做了几年Android/Flutter画图仔,并没有存下什么钱。离职的时候,我手上只有差不多一年的生活费。离职的第一个感觉是心慌,因为不再会有人在每个月的......
  • #yyds干货盘点# LeetCode程序员面试金典:环形链表
    题目:给你一个链表的头节点head,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪next指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数pos来表示链表尾连接到链表中的位置(索引从0开始)。注意:pos不作为参数进行传递 。仅仅是为了标识链......
  • #yyds干货盘点# LeetCode程序员面试金典:移除链表元素
    1.简述:给你一个链表的头节点head和一个整数val,请你删除链表中所有满足Node.val==val的节点,并返回新的头节点。 示例1:输入:head=[1,2,6,3,4,5,6],val=6输出:[1,2,3,4,5]示例2:输入:head=[],val=1输出:[]示例3:输入:head=[7,7,7,7],val=7输出:[]2.代码实现:class......
  • 03地铁查询系统
    地铁查询系统2023.6.101、优化返回两个站点之间最短路径功能:成为一个类,进行单元测试。2、生成遍历车站类:要求尽可能快地遍历地铁的所有车站呢(只用经过一次,不用下车,就算经过车站)。  连接数据库:packagecom.example.underground; importjava.sql.Connection;importja......
  • 202303-天天向上队 实验七 综合软件项目案例
    项目内容课程班级博客链接2023年春软件工程这个作业要求链接实验七综合软件项目案例团队名称天天向上队团队的课程学习目标(1)练习用例图、类图、顺序图、状态图等UML建模技术在软件开发过程中的用途。(2)掌握软件项目的数据库逻辑结构设计方法。(3)掌握软件项目......
  • jmeter003:(HTTP请求默认值)元件
    HTTP请求默认值作用:当有多个请求的协议、ip、端口号、路径、内容编码、参数、消息数据体是一样时,可以使用http请求默认来代替多个请求值添加路径:线程组>配置元件>HTTP请求默认值使用方法:如下图,(请求1、请求2、请求3)添加了(HTTP请求默认值)之后,请求数据取的都是(HTTP请求默认值)里面......
  • StarWind V2V Converter报错V2V convert to VMDK 'unrecoverable error' on win10
    解决方法:避免在源名称和目标名称中使用任何非ASCII符号修改文件名,不能使用特殊字符  VMwareVirtualDiskDevelopmentKitErrorVMwareVirtualDiskDevelopmentKitunrecoverableerror:(vthread-4)NOTIMPLEMENTEDd:/build/ob/bora-13861102/bora/lib/unicode/unic......