首页 > 编程语言 >《程序员修炼之道》读书笔记1

《程序员修炼之道》读书笔记1

时间:2024-10-21 17:22:56浏览次数:7  
标签:读书笔记 代码 知识 程序员 客户 修炼 软件 我们

1.“我的源码让猫给吃了”
在工作过程中,出现突发情况,无论是因为磁盘垮了,没有备份,还是交付晚了,都属于是我们个人失误,应该坦率的承认错误,并提出解决方案,向老板和客户解释“我的源码让猫给吃了”没有任何意义。其次,在代码编写工作中,作为成熟的程序员,我们应当知道自己所能承受的极限在哪里,当我们知道那些东西不可控,超出自己能力范围了,要及早提出,我们要对自己承担的工作心里有数。
2.软件的熵
熵本来是热力学中的概念,在物理意义上,熵指的是系统的混乱程度,而在信息论中,熵用来衡量信息的不确定性,信息熵越大,表示信息的不确定性就越高,热力学中,熵值总是趋向于最大,在信息中也是如此,工程越庞大,代码的“无序”状态也就越严重。
破窗理论指如果一幢建筑的窗户被打破而没有及时修复,那么某些人会受到暗示性的纵容,去破坏更多的窗户。软件开发中也一样,当我们的代码中拥有很多没有及时被修复的“破窗”,比如,地理额的设计,错误的决策,混乱的思路等,之后接手的人也会使代码变得更糟糕,所以,我们应当尽早处理工程中的遗留问题。
3.石头汤
石头汤讲的是一个小故事,三个士兵,饥肠辘辘,经过一个村庄,想要讨些食物,结果村民不肯,他们就架起一口锅,在锅中煮石头,路过的村民好奇问他们这是什么,士兵说,这是石头汤,煮出来很好吃,要是有些胡萝卜就更好了,村民好奇汤的味道,从家中拿来了胡萝卜,士兵又说,要是有一些土豆就更好了,又有村民从家中拿来了荼毒,就这样,锅中的食材越来越多,汤果然也很美味。
这个故事提示我们在代码编写的团队任务中,不需要等到所有事情都准备好了再开始,最好是先着手做,做出有益的的部分,其他人看到也会参与进来,效果会更好。
4.足够好的软件
在制作软件中,如果不注重质量,那么交付出去的软件必定会使客户不满意,如果过于追求质量,则会延误工期,正确的作法是和客户商量好,在合适的时间内,在实践和质量之间找到平衡,尽量交出满意的软件。最完美的软件永远都在下一个,不要一味地追求完美,应该知道何时止步,即使将软件交给客户,收集客户的反馈意见才是正解。
5.你的知识资产
本杰明·富兰克林说过:知识上的投资总能得到最好的回报。这没问题,但遗憾的是知识是有时效的资产,特别是计算机领域。我们可以把我们了解的技术实现、工作经验视为知识资产,并使用管理金融资产的形式管理这些知识。
经营知识资产可以从以下方面进行:定期投资:定期投入时间学习,即使很小的投资也是很重要的。多元化:作为底线我们需要对当前所从事的技术熟练掌握。但不要就此止步,技术的发展变化很快,掌握的知识越多,就越能更好的进行调整,赶上变化。管理风险:不要把所有的“技术鸡蛋”放到一个篮子里。低买高卖:新技术流行之前就掌握它往往比之后跟风再学得到更大的回报。这些知道方针里最重要也是最简单的就是:定期为你的知识资产投资。
具体方案介绍每年至少学习一种新语言。
每季度阅读一本技术书籍,习惯之后可以一个月就阅读一本。也要阅读非技术书籍,记住计算机是由人使用的。在本地大学或者网上系统地学一门课程。体验不同的环境,如果你只在 Windows 上工作,可以试下 Unix。如果你只使用某一种 IDE 那可以试试其他 IDE。

标签:读书笔记,代码,知识,程序员,客户,修炼,软件,我们
From: https://www.cnblogs.com/zhaoyaxuan2024/p/18489887

相关文章

  • 十月十四日《程序员修炼之道:从小工到专家》阅读笔记1
    软件开发的复杂性:阅读这部分内容后,我意识到软件开发的复杂性远远超出了编码本身。它涉及到项目管理、团队协作、需求理解等多个方面。这让我认识到,作为一个程序员,需要具备更全面的技能和视野。持续学习的重要性:书中强调了持续学习和适应新技术的重要性。在技术日新月异的今天,只有......
  • 十月十五《程序员修炼之道:从小工到专家》阅读笔记2
    重复劳动是软件开发中常见的问题,它不仅浪费时间,还可能导致错误。通过自动化测试、构建脚本和使用代码生成器,可以减少重复性工作,提高开发效率。正交性是指系统的不同功能之间相互独立,改变一个功能不应该影响到其他功能。在设计软件时,应该追求高内聚低耦合,这样有助于降低复杂性,提高......
  • 十月十八《程序员修炼之道:从小工到专家》阅读笔记3
    纯文本的威力:纯文本文件易于创建、编辑和版本控制。它们是跨平台的,不需要特定的软件来打开。在可能的情况下,使用纯文本格式(如JSON、YAML)来存储配置文件和数据。Shell游戏:熟练掌握命令行界面(CLI)可以提高工作效率。学习常用的命令行工具,如grep、sed、awk,以及如何编写简单的shell脚......
  • 程序员的AI工作流 v2
    之前我已经介绍过,作为程序员我现在的工作流程了,可以参见这篇文章仅仅三个月之后,出现了许多新的方案,其中有部分已经深刻的影响了我的使用,本文是前一篇文章的补充.cursorLinkcursor很棒,或者说,cursor是目前整体体验最好的IDE基于Vscode开发,迁移成本极低良好的......
  • 欢迎体验程序员Lingma的助攻手
    核心来源:https://developer.aliyun.com/topic/lingma-one-year?spm=a2c6h.26788700.J_6472240420.2.5d0210d6hKRiR0假如你是一位软件开发者,(同义灵码)Lingma可以帮助你做基础架构的脚手架相关工作事宜以及部分代码开发,对比之前没有灵码,现在提效了她可以给予你零编码的快感,准确快速地......
  • 读书笔记-《最好的告别》
    这本书是医生三部曲中的最后一本,前两本分别是《医生的修炼》、《医生的精进》,讲述了医生在职业生涯初期面临的挑战与自我成长。我们会发现,如今医生所掌握的知识在容量和复杂度上已经大大超过了个体所能承载的极限,细分领域越来越垂直化。但在面对变化莫测的疾病、病人,不充分的......
  • 10.20程序员修炼之道读后感
    从序言中,我学到了不可替代的才叫经典,原则源于实践,高于实践这两个道理,令我感受颇深,我优先阅读的理应是经典,而我所缺乏的恰恰是实践前言中提到了编程需要专注,需要仔细思考,需要转变思考的方式,一切其实都可以是编程,开会,学习,吃饭,打游戏,思维打开来看,一切其实都可以是编程,我觉得虚拟世界......
  • 视野修炼第106期 | Node23新特性
    欢迎来到第106期的【视野修炼-技术周刊】,下面是本期的精选内容简介......
  • 大数据之路读书笔记(六)
    前言    上一章主要研究的是无线客户端日志采集中与浏览器端日志采集相对应的技术方案,现在开始要进行无线客户端日志采集特有技术的学习。特殊场景    页面事件和控件点击及其他事件都是一个行为产生一条日志,如果处理普通业务场景是足够的,但是一但业务场景......
  • 程序员都在用的笔记软件
    作为一个重度笔记控,最近入手了一款叫“闪思笔记”的软件,用了几天后,我决定来跟大家唠唠。这款软件真是妥妥的“笔记界全能选手”,下面简单给你们介绍下。首先,界面设计:它走的是极简风,打开的瞬间,感觉自己脑海中多了一片宁静的白板。没有那些杂七杂八的干扰元素,就像个井井有条的书......