用爱发电见闻录

从纯爱好项目开发及维护引发的思考

black_desk 2024.07.14

Overview

  • 自我介绍
  • 预防针
  • 动机
  • 技术选型
  • 前向兼容
  • 开发规范
  • 测试先行
  • 多想多看少动手

自我介绍

预防针

  • 以用户态为主
  • 兴趣驱动

动机

  • 解决自己遇到的问题
  • 积累经验
  • 获得成就感

信心

  • 开源项目通常是灵车的
  • 有价值的贡献是容易的

技术选型

  • 语言和生态
  • 时间估算
  • 造轮子?
  • 库的质量
    • 用户数量
    • 文档
    • 接口风格
    • 最近更改时间

开发规范

  • 看警告

开发规范

开发规范

开发规范

测试驱动

  • 软件的价值

  • 可测试性

  • 开发效率

多想多看少动手

  • 非最佳实践大概率可以工作
  • 先找现有方案
  • Why/How

趣事

Thanks

kernel cmake neovim runc pandoc

配linter

代码应该怎么写

代码应该放在哪个函数里

函数应该放在哪个类里

类之间怎么相互依赖

代码的物理结构同样很重要

类应该放在哪个包里

包应该放在什么目录里

目录结构尽可能和语言上的机制对应

最终的分发载体

价值是软件的行为,能解决的问题

可测试性是软件质量的重要指标

1. 正确性有基础保证

2. 有重构空间

3. 解耦

实际上开发效率是更高的

成就感:分享