打算高频率开始写博客了 因为我发现很多大佬都很擅长表达 这是个归纳 从中的直觉理解是 写作是联通高质量输入输出的桥梁。 有一种说法是 你身边的十个人决定了你的认知 在现在的时代可以拓展外延 “你身边的十个最近的信息流的质量决定了你的认知 信息流不一定要是最近的实体 人类带来的 也可以是你接触最多的社交媒体 你深信不疑的哲学理念 意识形态 你阅读最多的刊物 研究最多的领域 anyway it‘s the vibe around u shapes u.
之前使用过小红书 但是小红书只有图文 不够好 社交属性强 信息密度不够 知乎爹味太重 X也有字数限制 即使用buffer管理也很鸡肋 最后选择长期使用微信公众号 原因很简单 个人主页点进去就可以编辑 适合我这种前额叶发育不完整的启动困难症患者+adhd患者
代码管理学
自己写的代码实在是太烂了 自己已经深度入坑cursor 导致很多细节代码其实并不太熟悉 但是我能造出来屎山代码 这在很多小型场景已经足够
但是随着实习&学术研究的深入 我发现有逻辑地组织串联一个项目 读懂业务需求 并用尽可能精确的自然语言\伪代码表达出来 极其重要。
最近在负责一个AT1 bonds 的结构型产品的量化项目 感叹自己写的代码距离真正工业化生产的那种井然有序的代码相距甚远 自己从来不会代码管理 写出干净,有逻辑,架构完整,不重复造轮子的代码。好的代码是门艺术!
于是我请教了deepseek大人:
Q:我发现自己写的代码文件之间经常结构不清,并且没有逻辑组织,也不擅长用类复用,反复造轮子,也不太擅长阅读工程文档,在管理版本的时候也不太熟练,这种管理中大型代码项目的能力在ai时代越来越重要,因为其实一些细节的syntax不需要自己去写,反而是大局观,对代码的管理能力,对业务的理解转化成代码的模块 更重要 我可以阅读哪些经典书籍或者博客来提升这个技能?
Deepseek的回答:
你提出的问题非常精准,确实切中了现代AI编程时代开发者能力转型的关键:从“写代码”转向“设计与管理代码”。这种能力通常被称为软件工程能力或系统设计能力。
针对你的痛点,我为你推荐一个“三步走”的学习路径,涵盖书籍、在线资源和实践方法。
一、 核心理念与设计模式:建立思维框架
首先要建立正确的“代码组织”心智模型,理解什么是好的结构。
1. 《代码整洁之道》
· 为什么必读:这是你所有问题的“治本”之书。它直接从“混乱的代码”现象入手,教你如何命名、如何组织函数、类、文件,如何减少依赖。它让你对“好代码”有直观感受。
· 阅读重点:关注“类”、“函数”、“注释”、“格式”这几章。它会直接改善你“结构不清”和“逻辑组织”的问题。
2. 《重构:改善既有代码的设计》
· 为什么必读:这本书是《代码整洁之道》的实践手册。它详细展示了如何将一团乱麻的代码,通过一系列小步骤(重构手法),转化为清晰、可复用的结构。特别适合你解决“反复造轮子”和“不擅长复用类”的问题。
· 阅读重点:掌握“坏代码的味道”和基本的重构手法,如“提炼函数”、“提炼类”、“以多态取代条件表达式”等。
3. 《设计模式:可复用面向对象软件的基础》
· 为什么必读:这是解决“复用”问题的经典宝库。它总结了23种解决常见设计问题的“模式”。了解这些模式,你就能识别出在哪些场景下可以复用已有的设计方案,而不是自己从头发明。
· 阅读重点:不要强求一次读完。先掌握几个最常用的:单例、工厂、策略、观察者、装饰器。重点是理解其意图和适用场景,而不是死记实现。
二、 工程化实践与架构:从模块到项目
这部分解决“管理中大型项目”和“阅读工程文档”的问题。
1. 《程序员修炼之道:通向务实的最高境界》
· 为什么必读:这本书涵盖了程序员职业生涯中比编码更广泛的技能,包括项目管理、原型设计、版本管理、文本处理等“务实的”话题。其中关于“正交性”、“可撤销性”、“曳光弹”等概念对你构建灵活的系统非常有帮助。
2. 《架构整洁之道》
· 为什么必读:这本书将你的视角从“类”提升到“组件”、“架构”。它清晰阐述了“整洁架构”的理念——如何让业务逻辑(你关心的核心)独立于框架、数据库、UI等外部细节。这对你“将业务理解转化为代码模块”至关重要。
· 阅读重点:理解依赖关系规则、业务逻辑与适配器的分离。
三、 具体工具与协作:版本管理与文档
针对“版本管理不熟练”和“阅读工程文档”的实操问题。
1. 版本控制(Git):
· 书籍:《Pro Git》是官方免费书籍,在线即可阅读。重点掌握:分支策略(如Git Flow或GitHub Flow)、合并与变基的区别、解决冲突。实践是关键,在GitHub/GitLab上创建项目,刻意练习分支、合并、PR/MR流程。
· 博客/视频:搜索“Git最佳实践”、“如何写好Commit Message”。
2. 阅读工程文档与代码:
· 技巧:
· 从README和Getting Started开始:这是项目的“用户手册”。
· 查看目录结构和构建文件:如 package.json, go.mod, CMakeLists.txt,了解项目依赖和入口。
· 从入口点追踪:找到main函数或入口类,顺着逻辑看下去。
· 善用IDE的搜索和导航:全局搜索关键字、查看调用 hierarchy、查看类图。
· 博客:可以搜索“如何阅读开源项目源代码”。
四、 在线资源与持续学习
· 博客/网站:
· Martin Fowler 的博客:他是《重构》的作者,博客里充满了关于架构、设计、敏捷的精辟文章。
· Google Engineering Practices:谷歌的工程实践文档,包含代码审查、CL设计、测试等,非常务实。
· Stack Overflow 和 Software Engineering Stack Exchange:遇到具体设计问题时,去这里搜索或提问。
· 视频课程:
· Udemy/Coursera上搜索 “Software Design and Architecture”、“Clean Code”相关课程。
· 《Head First设计模式》(书籍)也是一个非常友好、视觉化的入门选择。
给你的行动建议(如何开始)
1. 立刻开始读:《代码整洁之道》和《重构》。它们是立竿见影的“药方”。
2. 实践驱动学习:找一个你过去写的、比较乱的中等规模项目,尝试用书中的理念去重构它。 这是最高效的学习方式。
3. 刻意练习“先设计,后编码”:在动手写新功能前,花10分钟画个简单的类图或模块关系图,思考哪些可以复用,模块间如何交互。
4. 参与开源项目:哪怕只是从阅读代码、提交一个很小的文档修复开始。这是学习大型项目结构、版本管理和工程协作的最佳场所。
5. 善用AI作为助手,而非依赖:用AI(如GitHub Copilot、ChatGPT)帮你生成代码片段或解释复杂概念,但架构设计和模块划分必须由你自己主导。向AI清晰地描述你的模块设计,让它帮你填充实现细节。
你对自己的认知非常清晰,这正是能力突破的前兆。记住,软件工程的本质是管理复杂性。你学习的这些书籍和技能,正是在武装你分解、组织和驯服复杂性的能力。坚持下去,你很快就会发现自己从一个“写代码的人”转变为一个“设计系统的人”。祝你学习顺利!
于是果断call了tg的bot给我找到了这些书 打算后面做一些读书笔记的分享 继续写到博客中。
现在是下班回家的地铁上(利用地铁进行思绪的整理和输出是极好的)