首页 > 编程语言 >程序员修炼之道2

程序员修炼之道2

时间:2024-10-31 20:00:14浏览次数:2  
标签:重构 项目 代码 之道 程序员 开发 修炼 工具 调试

一、注重实效的途径
早期的采纳者 / 快速的追随者
介绍了在技术采用上的两种角色。早期的采纳者勇于尝试新技术,能够在新技术还未完全成熟时就开始使用,从而获得先发优势,如可能会因新技术的应用而带来创新的解决方案,但也承担着技术不稳定、文档不完善、缺乏足够支持等风险。快速的追随者则会等技术经过一定验证后再采用,他们能利用早期使用者的经验,降低风险,不过可能会错过一些早期的机会。
正确的工具
强调工具的选择要以项目和团队的需求为导向。不同的项目规模、性质和团队的技术水平、开发流程等因素都决定了工具的适用性。不能盲目追求新工具或者流行工具,而是要综合考虑其是否能真正帮助提高开发效率、保证项目质量。
基本工具
阐述了文本编辑器和版本控制系统这两个基本工具的重要性。合适的文本编辑器可以通过掌握其高级功能(如搜索替换、宏录制等)来提升代码编辑效率。版本控制系统(如 Git)对于代码版本管理、团队协作(包括代码回溯、分支管理等)至关重要。
二、务实的哲学
你的知识组合
指出程序员的知识组合包括技术知识(编程语言、算法、数据结构等)和领域知识(如金融、医疗、电商等行业知识)。强调在开发特定领域的软件时,需要将两者结合起来,并且要持续更新知识,以适应不同项目和技术的发展变化。
交流与合作
再次强调交流在编程中的重要性,包括和团队成员、用户、项目经理等人员的沟通。良好的交流能确保准确理解需求、合理安排项目进度和资源分配。同时,合作可以促进代码复用和知识共享,有助于提高团队整体开发效率。
三、你的技术工具箱
纯文本的威力
提倡使用纯文本存储数据和配置信息。因为纯文本具有可读性强、易于编辑和版本控制等诸多优势,相比二进制文件,更方便人类理解和处理,适用于多种场景,如配置文件、代码文件等。
shell 游戏
介绍了 shell 的强大功能,包括自动化任务、文件操作和系统管理等。掌握 shell 脚本编程可以提高工作效率,如用于批量处理文件、自动化部署等工作场景。
强大的文本处理工具
讲述了如 grep、sed、awk 等文本处理工具的用途和用法。这些工具能够在文本文件中进行高效的搜索、替换、过滤等操作,有助于节省处理文本数据的时间,提升开发和维护工作的效率。
四、当你编码时
需求之坑
着重强调了理解需求的重要性和需求的不确定性与易变性。程序员不能仅依赖初始的需求文档,要在开发过程中与用户等相关人员保持沟通,及时了解需求的变更,否则可能导致开发出不符合用户实际需求的软件,造成资源浪费。
怎样配平资源
探讨了在项目开发中合理分配时间和精力等资源的问题。要根据项目优先级和重要性来安排对不同功能模块的开发和优化时间,避免过度关注局部而忽视整体平衡,确保从项目整体目标出发,合理分配资源。
邪恶的重复
指出代码重复是软件开发中的常见问题,会导致代码维护困难和出错概率增加。要通过提取公共代码、使用函数和模块等方式避免代码重复,以此提高代码的可维护性。
正交性
阐述了正交性概念,即系统各组件应相互独立,修改一个组件不应影响其他组件。设计软件时遵循高内聚、低耦合原则可以实现正交性,使系统易于理解、测试和维护。
五、重构
重构的定义和重要性
重构是指在不改变软件外部行为的前提下,对软件内部结构进行改进的过程。它对于提高代码的可读性、可维护性和可扩展性非常重要,能够使代码更好地适应新的需求和功能扩展。
何时重构
可以在代码出现诸如重复、复杂度过高、可读性差等问题(即代码异味)时进行重构,也可以在添加新功能或修复 bug 的同时顺便重构。持续的小幅度重构比一次性大规模重构风险更低,对项目进度的影响也更小。
如何重构
介绍了提取函数、重命名变量、简化条件表达式等重构方法和技巧。同时强调重构过程中要进行充分测试,确保重构后的代码功能正确,可以借助自动化测试工具提高测试效率。
六、调试
调试的心态
强调在调试过程中要保持冷静和耐心,以科学的方法和积极的态度寻找问题根源。将调试视为学习和理解系统的机会,而不只是解决问题的过程,这有助于提升编程能力和问题解决能力。
Bug 的分类
将 Bug 分为认知错误(对问题理解有误)、遗漏错误(代码实现不完整)和疏忽错误(如拼写错误、语法错误等简单错误)。了解 Bug 类型有助于更有针对性地进行调试。
调试的方法
介绍了打印调试信息、使用调试器单步调试、分析日志文件等多种调试方法,并且说明要根据具体情况选择合适的调试方法。
七、在现实世界中编程
处理遗留代码
遗留代码是已有的、可能文档和结构都不完善的旧代码。处理遗留代码要谨慎,首先要理解其功能和逻辑(可以通过阅读代码、运行测试等方式),然后逐步改进和维护,必要时进行重构,但要注意控制风险,避免引入新问题。
代码的产权问题
强调在软件开发中要遵守法律法规和道德规范,尊重代码的产权。在使用开源代码时要了解许可证和使用条款,确保合法合规;同时要保护自己的代码产权,按规定管理和保密公司内部代码。
最后期限的压力
探讨了项目最后期限带来的压力和应对策略。面对最后期限,要合理规划时间,优先处理重要任务,避免过度承诺。采用敏捷开发等方法可以提高开发效率,更好地应对变化,减轻最后期限的压力。

标签:重构,项目,代码,之道,程序员,开发,修炼,工具,调试
From: https://www.cnblogs.com/fanxn/p/18518756

相关文章

  • 程序员修炼之道1
    《程序员修炼之道》第一章读书笔记一、核心观点与主题注重实效的哲学,强调了在软件开发过程中需要秉持的正确态度和原则,以应对各种挑战,提高软件质量和开发效率。二、关键内容及理解(一)“我的源码让猫给吃了”责任意识书中以幽默的“源码被猫吃”借口,警示程序员要对自己的工......
  • 程序员修炼之路 从小工到专家 第一章读书笔记
    《程序员修炼之道——从小工到专家》的第一章“注重实效的哲学”给我留下了深刻的印象。这一章通过一系列生动的故事和实用的建议,向我们展示了成为一名优秀程序员所需要具备的品质和思维方式。在阅读过程中,我首先被书中提到的“不要害怕暴露弱点”这一观点所吸引。作者认为,......
  • 程序员修炼之路 从小工到专家 第二章读书笔记
    在深入阅读了《程序员修炼之路——从小工到专家》的第二章后,我对于程序员的成长路径和专业技能的提升有了更为深刻的理解。这一章主要围绕“构建自己的工具箱”这一主题展开,通过一系列实用的建议和方法,引导我们如何逐步提升自己的编程能力和技术水平。在阅读过程中,我首先被......
  • 程序员修炼之路 从小工到专家 第三章学习笔记
    在阅读了《程序员修炼之路——从小工到专家》的第三章后,我对于程序员的成长和专业技能的提升有了更深入的理解。这一章主要围绕“编程实战:构建可靠的系统”这一主题展开,通过一系列实践经验和案例分析,让我深刻体会到实战对于程序员成长的重要性。在阅读过程中,我首先被书中提......
  • 《程序员修炼之道:从小工到专家》阅读笔记2---软件熵的理解与警惕
    《程序员修炼之道:从小工到专家》中提出的“软件熵”概念,犹如一记警钟,在我的脑海中久久回荡。软件熵,即系统中“无序”的总量。随着时间的推移,如果不及时处理低劣的设计、糟糕的代码和低质的文档等问题,软件就会像一个无人打理的房间一样,逐渐变得混乱不堪。这种无序状态不仅会影......
  • 《程序员修炼之道 —— 从小工到专家》第一章有感
    《程序员修炼之道——从小工到专家》的第一章节有感在阅读此书时,我发现这本书并不是那种枯燥无味的,而是其中有很多小故事,我们从故事中,可以明白其中的对于我们程序员来讲很不错的习惯和道理此章节着重强调了务实的态度对于程序员的根本性意义。在当今快速发展的科技领域,程序员......
  • 《程序员修炼之道:从小工到专家》读书笔记(三)
    这一篇开始这本书的第二章内容,第二章的标题是注重实效的途径7.重复的危害摘抄:DRY原则:系统中的每一项知识都必须具有单一、无歧义、权威的表示。这一节将重复归入了几个类型:强加的重复、无意的重复、无耐性的重复、开发者之间的重复,我就不把解释写在这里了,通过这一节的学习,我深......
  • 《读〈程序员修炼之道:从小工到专家〉第二章有感》
    在第二章“注重实效的途径”中,包含了许多实用的编程理念和方法。其一,书中提到了不要重复你自己(DRY原则)。它强调在编程过程中,应避免重复的代码。重复代码不仅会增加代码量,还会使维护变得困难。当需要修改时,就不得不对多处相同的代码进行调整,这极易引入新的错误。通过将公共的功能提......
  • 程序员的修炼之道读后感其一
    在科技飞速发展的今天,编程已成为一项至关重要的技能,而《程序员的修炼之道》这本书犹如一盏明灯,为广大程序员照亮了前行的道路。读完这本书后,我深受启发,对程序员这一职业有了更深刻的认识和理解。这本书涵盖了软件开发的各个方面,从编程的基本理念到实际的项目管理,都有详细的阐述。......
  • 《程序员修炼之道:从小工到专家》读书笔记(二)
    这一篇接上一篇继续(这里的摘抄是我个人感觉比较好的句子)第一章注重实效的哲学4.足够好的软件摘抄:你常常会处在须要进行权衡的情形中。让人惊奇的是,许多用户宁愿在今天用上有一些“毛边”的软件,也不愿等待一年后的多媒体版本。许多预算吃紧的IT部门都会同意这样的说法。今天的......