【读书笔记】程序员修炼之道

本文探讨了软件开发中的关键原则,如单一职责、开放封闭等,以及MVC架构、代码复用、调试技巧和自动化工具的应用。通过实例讲解,学习如何估算、设计可维护的代码和利用领域语言。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

投资知识资产,学语言,看书,多交流
交流,写文档要考虑自己要说什么,列框架在写,像小说
熵:不要容忍破窗户

不要重复DRY:复用,学习他人
正交性:MVC去耦合,分层职责清晰,单测引入其他的量
可撤销性:接口不变,实现可变
领域语言:项目可以嵌入高级语言的脚本,完成一些功能
估算:选择合适单位,理解提问域的范围

纯文本的威力:unix哲学,文本data保存最久
shell:自动化,高效完成一些工作
IDE:用好一个编译器的高级特性,加快开发进度
源码控制(git):保证写的每一行代码,都源码控制,哪怕是小脚本、原型演示、makefile、readme。。。redo log
调试:小黄鸭,二分

文本操纵语言:学习perl
代码生成器:自动化输出需要的文本,源码控制
被动(独立存在文本):改IDE自动生成注释 goland
主动(一次就扔文本):符合DRY的代码复用、python脚本
让输入保持简单,函数简单可扩展

DBC:接受要严格,返回要尽量少
前条件、后条件、类不变项

liskov替换原则:继承和多态,子类要遵守合约(或更严格)
死程序不说谎
crash,not trash:早崩溃
assert编程:
何时使用异常:错误和异常要区分
配平资源:分配者,负责解除
指针置为nil,defer recover,为每个资源包一个类

解耦和得墨特尔法则
软件工程实践中的十大法
对开发人员有用的定律、理论、原则和模式
设计模式6大原则 SOLID原则

  • 一、单一职责原则(Single Responsibility Principle) …
  • 二、开放封闭原则(Open Close Principle) …
  • 三、里氏替换原则(Liskov Substitution Principle) …
  • 四、依赖倒置原则(Dependence Inversion Principle)
  • 五、 接口隔离原则(InterfaceSegregation Principles)
  • 六、 迪米特原则(Law of Demeter)也称最少知识原则
    元程序设计
    动态配置
    时间耦合
    Design for service
    为并发进行设计:保护静态/全局变量,生成就初始化才可用,调用时机不确定
    它只是视图
    pub/sub
    MVC

模型-查看器网络,分层结构
黑板模式

靠巧合编程:了解对前提假设(输入、时序)、使用的技术和库
算法速率:

重构
如何重构:不加功能,增加测试,保持步骤短小,剧烈改动破坏构建不兼容
易于测试的代码
测试什么:前条件、后条件、边界case’输入
邪恶的向导

需求之坑:找出用户做事的原因,而不是做事的方式
需求不是架构、不是设计、不是界面,是需要。保持抽象,以及对现实生活的描述
维护项目的词汇表
解开不可能解开的谜题:
等你准备好:从原型入手新项目
规范陷阱

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值