首页 > 编程语言 >9月份 《程序员修炼之道——从小工到专家》读后感2

9月份 《程序员修炼之道——从小工到专家》读后感2

时间:2023-11-06 12:11:36浏览次数:37  
标签:读后感 估算 重复 小工 正交 程序员 原型 组件 代码

第二章 注重实效的途径
1 重复的危害
系统中的每一项知识都必须是单一、无歧义、权威的表示;
DRY- Dont repeat yourself 不要重复你自己;
重复如何发生
       强加的重复
               信息的多种表示
               代码中的文档; 把注释保留给其他的高级说明
               文档与代码
               语言问题;
        无意的重复
               设计问题; 使影响局部化;
无耐性的重复
               走捷径;欲速则不达
开发者之间的重复
               交流,促进知识的沟通;
2 正交性
正交性:表示某种不相依赖性或是解耦性;
消除无关事物之间的影响,让组件独立、具有单一、良好定义的目的称为内聚;
正交的好处
提高生产率
        改动能局部化;
        促进复用;
        重叠减少,生产率提高
降低风险
        降低开发中的固有风险
        问题代码被隔离
        系统更健壮;
        更好的测试;
项目团队
        团队的组织有许多重叠,各个成员对责任感到困惑,效率差;
设计
        系统多个模块,分层架构
工具箱与库
        引入第三方要注意保持系统正交性明智选择技术
        面向切面编程 AOP
编码
        每次编码都有降低系统正交性的危险;
        让你的代码保持解耦
        避免使用全局数据
        避免写相似的函数
        养成不断批判对待自己代码的习惯;
测试
        正交的设计和实现,易于测试;
文档
        正交性利于文档的编写
3 可撤销性
不必作出许多关键的、不可逆转的决策;
不存在最终决策;
保持架构的灵活性,预先考虑问题,抽象服务等,只需要改配置文件;
薛定谔的猫
        猫,粒子50%机会分裂猫会死,猫是死是活?
        答案都是; 每当有两种可能结果的亚核反应发生时,宇宙就会克隆,一个发生一个不发生,只有你打开盒子才知道,你在哪一个宇宙中;
        每一项代码决策都导致不同版本的未来;
4 曳光弹
黑暗中机枪射击?1 找出目标确切的位置 2 曳光弹与常规弹交接射击,不断获得反馈;
在黑暗中发光的代码;总有改动需要完成,总有功能需要增加,渐进的过程;
优点
        用户能及早看到能工作的东西
        开发者构建了一个他们能在其中工作的结构;
        有了一个集成平台;
        有了可演示的东西
        能感觉到工作的进展;
原型制作:探究系统的某项具体的方面,对概念实验后,东西扔掉,根据学到的经验教训重新编码;
        你设计一个用户界面,用户满意后,把它扔掉,重新用目标语言编码;
原型制作生成用过就扔的东西,曳光代码虽然简约,却是完整的,并且构成了最终系统骨架的一部分。
5 原型与便笺
为了学习而制作原型
怎样使用原型
        正确性:适当使用虚假数据
        完整性:出错入参
        健壮性:可能不完整
制作架构原型
        主要组件的责任是否得到良好的定义
        主要组件的协作是否定义
        耦合是否最小化
        能否确定重复的潜在来源
        接口定义和各项约束是否可接受
怎样不适用原型
        确定是用过就扔,不会不熟的,不完整;
        坚持部署原型,适用曳光弹;
6 领域语言
靠近问题领域编程
        实现小型语言
        数据语言与命令语言
        独立语言
        易于开发还是易于维护?可扩展性与维护权衡
7 估算
估算,以避免意外发生;
多准确才足够准确; 某种程度上,所有的解答都是估算,只不过有一些更准确;
使用估算的单位不同会对结果的解读产生影响;
        130个工作日,相当接近的时间完成
        6个月,5-7个月完成;
        130更高的精确程度;
估算来自哪里;以问题的模型为基础;
理解提问的内容
        建立系统的模型;建立粗略、就绪的思维模型
        把模型分解为组件;每个组件都有一些参数
        给每个参数指定值
        计算答案
        追踪你的估算能力
估算项目的进度
        检查需求
        分析风险
        设计、实现、集成
        向用户确认
在被要求估算时说什么
        我等会儿回答你,今天晚上给你答复;

标签:读后感,估算,重复,小工,正交,程序员,原型,组件,代码
From: https://www.cnblogs.com/jiajiayu/p/17811467.html

相关文章

  • 9月份 《程序员修炼之道——从小工到专家》读后感1
    第一章注重实效的哲学1我的源码让猫给吃了在所有的弱点中,最大的弱点就是害怕暴露弱点;同意为某个结果负责,就应切实负起责任;不要抱怨,总是把问题归咎于别人;辩解听起来很愚蠢,说话之前先将借口清除,谈话之前自己先预演一遍;提供选择,而不是找借口,不要说做不到,而是能够做什么挽回局面;2软......
  • 35岁 + 程序员 + 失业
    35岁失业程序员现身说法  35岁+程序员+失业,三个词组合在一起,很难不会给人以标题党的感觉,但此文并非如此。我是一名有15年工作经验的.net程序员,略懂一些前端技术,刚刚跨越35岁门槛,而不幸的是前段时间又刚好被失业,所以作者就亲身实践简单分享下自己的失业经历和当前思考......
  • 程序员为啥要做副业(05)-业务解决方案缔造
    除了技术,副业也可以帮助我们在业务上获得新认知,保持敏感性。之前我们在做程序员职业成长服务的时候,发现了一个问题。很多初阶的程序员没法升到中高阶,有两个很大的非技术影响因素:1管理能力每个程序员即使把自己的潜力发挥到极致,成为十倍开发者(10xdeveloper),他可以处理的事情也......
  • 程序员为啥要做副业(05)-业务解决方案缔造
    除了技术,副业也可以帮助我们在业务上获得新认知,保持敏感性。之前我们在做程序员职业成长服务的时候,发现了一个问题。很多初阶的程序员没法升到中高阶,有两个很大的非技术影响因素:1管理能力每个程序员即使把自己的潜力发挥到极致,成为十倍开发者(10xdeveloper),他可以处理的事情也......
  • 软件工程读后感4-编写有效用例1
    最近,我阅读了编写有效用例的第一部分。用例是代表系统中各个项目相关人员之间就系统的行为所达成的契约。用例描述了在不同条件下,系统对某一项目相关人员的请求所作出的响应。过去,我对于用例是什么的了解不够深入,将来我会尽量了解用例是什么,提高自己对于用例的认识。范围一词用来......
  • 程序员的修炼之道 读后感
    《程序员的修炼之道》这本书给我留下了深刻的印象。这本书并不仅仅是一本关于编程技术的书籍,更是一本关于程序员成长和修炼的指南。书中作者以幽默风趣的方式,通过一系列有趣的故事和实例,向读者传达了一些重要的编程原则和价值观。其中最让我印象深刻的是“简单胜于复杂”这一原则......
  • 【趣味Javascript】前端开发中不为人知的LHS和RHS查询,你真的弄明白了吗? 《1024程序
    ......
  • 程序员笔记本电脑选 windows 还是 MAC
    计算机选择是每个进入IT行业同学的第一个重要选择,那么你是怎么选择的呢?选择操作系统(Windows还是macOS)取决于程序员的需求、偏好和工作流程。每个操作系统都有其优点和缺点,下面将分别讨论它们,以帮助你做出决策。视频:https://www.bilibili.com/video/BV13c411d7eK/Windows:**......
  • Android程序员如何应对公司裁员后找不到工作的困境
    前言自人类社会诞生以来,失业率一直是一个无法回避的社会问题。然而,在2023年,失业率大爆发的情况却对许多人来说是一个完全意想不到的现象。头部互联网公司纷纷开始或明或暗的大规模裁员,经历如此剧烈的行业变动,程序员们压力山大,如何寻找新工作成了难题,那么面对紧迫的就业形势,该如何选......
  • 程序员都收藏下吧!这样子找开源组件更安全!
     随着互联网的高速发展,开源组件日益成为技术研发的重要工作基础。尤其是如今软件市场对功能性需求的激增,与市场的节奏的加快,企业对程序员开发效率的要求越来越高,开源组件无疑成为了研发市场上的香饽饽。但开源组件极大地提高了开发效率的同时,也难以避免地引入了安全风险。对......