《代码的艺术》学习笔记

本文为学习章淼的《代码的艺术》学习笔记,收获颇多,特此记录。 详细内容请移步微信公众号“章老师说”。

消除一些误解

软件工程师!=码农
coding is not so easy
写好代码需要建立好的品味

一流代码的特性

正确和性能
可读和可维护
共享和重用
运维和运营

好的代码是多个环节共同的结果

需求分析和系统设计

需求分析:
定义系统/软件黑盒的行为(external what)
需求需要用精确的数字来进行刻画

系统设计:
设计系统/软件白盒的机制(internal how& why)
trade-off

接口

系统对外的接口,比系统实现本身还要重要
模块对外的函数接口
平台对外的API
系统间的通信协议
系统间存在依赖的数据

代码也是一种表达方式

软件的维护成本远高于开发成本
现在,代码主要是写给人看的
系统->子系统->模块->函数

模块

怎么切分模块是一个需要慎重考虑的事情
切分模块的角度:数据类模块/过程类模块
写程序要以数据为中心考虑
好的模块划分是软件架构稳定的基础

类/函数

函数的切分也很重要
函数描述的3要素:函数功能的描述,传入参数的描述,返回值描述。
函数的规模要足够的短小
函数的返回值3种类型:逻辑判断(True/False),操作型(成功/失败),获取数据型(有数据/无数据/失败)
函数:单入口单出口是一种推荐的方式
函数的段落 layout 注释,函数的命名。

系统

系统的可监测性 非常重要,需要有足够的数据收集。
数据和功能同等重要。
在设计和编码阶段就要考虑系统运营

修身

  • [√ ] 学习—思考—实践

学习:书,开源代码
思考:学而不思则罔
实践:知行合一谓之善

努力建立学习的习惯和能力
所有重要的进步,都来源于失败和挫折的经历

  • [ √] 知识—方法—精神

知识:知识变化快,过时也快。所以只学知识的人总感觉世界变化太快。
方法:分析问题,解决问题的能力才是最重要的
精神:自由精神,独立思想。Don’t follow。对完美的不懈追求。

  • [ √] 基础乃治学之根本

读书已经成为一道鸿沟。

最后以章老师的一句话作为总结,也是最自己的警戒!
今天社会的鸿沟在哪里?在抖音!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值