From 2a48533ddcfa1c8f564c9a460fe1f33b9404a2e8 Mon Sep 17 00:00:00 2001 From: qingtong Date: Fri, 15 Mar 2024 16:12:56 +0800 Subject: [PATCH] add new post: becomming a better proramer --- app/Bio/index.js | 31 +- app/Bio/wechat.jpg | Bin 0 -> 124112 bytes .../index.md | 366 ++++++++++++++++++ public/llm-deep-practice/index.md | 6 + 4 files changed, 392 insertions(+), 11 deletions(-) create mode 100644 app/Bio/wechat.jpg create mode 100644 public/becoming-a-better-programmer-part-1/index.md diff --git a/app/Bio/index.js b/app/Bio/index.js index 8d417f6..e142612 100644 --- a/app/Bio/index.js +++ b/app/Bio/index.js @@ -5,8 +5,12 @@ import Image from "next/image"; import Link from "../Link"; import HomeLink from "../HomeLink"; import icon from "./icon.png"; +import wechat from "./wechat.jpg"; export default function Bio() { + const pathname = usePathname(); + const isHome = pathname === "/"; + return (

@@ -15,17 +19,22 @@ export default function Bio() {

- Me -

- 来自接地气的一线实践开发经验,用心做原创 -
- 分享关于大模型、低代码、工程化等,打造专业前端知识库 -

+
+ Me +

+ 江湖夜雨十年灯,一名跨界前端工程师的呓语 +
+ 感兴趣可以关注, 聊聊AI、低代码和其他 +

+
+ {!isHome && ( + wecaht + )}
); diff --git a/app/Bio/wechat.jpg b/app/Bio/wechat.jpg new file mode 100644 index 0000000000000000000000000000000000000000..af0900030270d8b7226ba4315c0a3de7a9cb9bbd GIT binary patch literal 124112 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%0Atw}um###xzbs%h1f%$Z65R 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 z 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

vcOs2D;Zfw}(Vw~*O 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�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 jl((k{3J?N`UG5;L0^*|mw 慈故能勇 —— 老子 + +要想写出好代码,必须要对好代码有执念。想要成为优秀的程序员,必须为之投入精力和时间。 +不要忽略编程之乐,体会那些巧妙解决棘手问题的代码之美。 + +## 2. 保持外观整洁 + +如果没有编码规范,那就选一个。最好和编程语言主流风格保持一致。 + +不要在选择代码排版风格上犹豫不决,挑选一种,坚持使用。不要为了编码规范争论不休。即使不是你青睐的,也要这么做。 + +你应该对编码风格的来龙去脉和优劣得失很清楚,并且不断学习,从别人的经验当中吸取养分。 + +好的编码规范服务于代码意图,绝不是什么艺术探索。 + +> 如果一个人想写的清晰,那么首先他应该思路清晰。——歌德 + +命名有原则: + +1. 简洁:充分利用上下文。 + +``` +class Widget { + // ❌ NO GOOD + public numberOfWidget + // ✅ YES + public size +} +``` + +2. 清晰:不能为了少敲几个键盘,就给变量起一个含义不清晰的名字。毕竟以后变量更多用来「读」而非「写」 +3. 地道:采用编程语言推荐的大小写语法 +4. 准确:确保命名准确 + +## 3. 写更少的代码 + +这些多余的代码就像野草一样,肆意生长,四处蔓延。填满了我们的存储器,扰乱了版本管理系统的历史记录,异常顽固地挡在我们的开发之路上。它们在源代码中到处游荡,使周围优秀的代码不堪重负。它们就是编程中的反物质。 + +更少的代码意味着更好的软件。 + +DRY:Don't Repeat Yourself。 + +确保每一句注释都有其价值,代码本身通常能说明 what 和 how。注释通常是为了解释 why。不解释其然,解释器所以然。 + +空白就像诗句中的留白,恰当使用,是有益于代码结构的。 + +童子军法则:总是保证营地在离开的时候,比到来时更加整洁 ——代码整洁之道(马丁) + +把清洁代码的工作和功能性提交区分开来,确保在源代码提交中有清晰的记录。 + +如无必要,勿增实体。写更少的代码,做更有意义的事情。 + +> 小故事: +> 软件优化的传说: + +1. 从一个函数中删除了 14 行无用的代码 +2. 这个函数从来没有被调用过,所以把它删除了 +3. 事实证明,程序根本无人使用,所以把这个项目彻底关闭了,节省了大量的人力投入 + +## 4 删除也是一种优化 + +> 我们把美归结为简单的事物,其没有多余的事物,完全符合目的 —— 爱默生 + +less is more,少即是多。 + +YAGNI 原则:you aren‘t gonna need it(你不会需要它)。不要写多余的代码,哪怕你认为这些代码将来会用到,如果现在没用到,就等到真正需要的时候再写。 + +> 小故事 +> +> - 你已经在测试部门工作 1 个星期了 +> - 你发现了很多 bug,显得大家看起来都很愚蠢 +> - 所以,你被开除了 + +## 5. 代码的背影 + +如果没有出现缺陷,就不要修复它。 + +对旧代码感到不舒服是一件耗时,它表明你已经学习到了新知识并有所提高。 + +”只有傻瓜才会从自己的错误中吸取教训,聪明人从别人的错误中吸取教训“ + +## 6. 导航路线 + +学习代码的最佳途径是由已经熟悉代码的人引领着学习。要积极寻求帮助。 + +正常构建只需要一个步骤,而且构建过程不需要人工干预。 + +> 是否用简单、单一的步骤就能构建整个系统,还是需要多个单独的构建步骤?构建过程是否需要人工干预?如果只修改代码的一小部分,那么是否可以只构建修改的部分?还是必须重新构建整个项目才能处理这个小改动? +> 最终的发布版本是如何构建的,它是否与开发版本有相同的构建过程?还是必须遵循一组非常不同的步骤? +> 当构建运行时,是否输出合适的日志信息? + +带有好测试的代码通常也经过了很好的分解、思考和设计,这些测试是进入代码一个很好的途径,能够帮助理解代码的接口和使用模式。 + +通常,系统的实际架构和理想的设计并不一致。你应该始终相信代码,而非文档。 + +如果你要学骑自行车,那么你可以学习关于骑自行车的所有理论和书籍。你还可以研究自行车的零部件,拆开再重装,思考自行车背后的物理学和工程学原理。但是这些可能都是”屠龙之术“。除非你跨上自行车,把脚放到踏板上,真正开始骑它,否则永远都不会进步。你是不可能从书山学会保持平衡的,只能从跌倒中学习。 + +> 学些代码的最佳方法时修改它,然后从错误中学习。 + +从哪里开始呢? + +在研究代码的过程中,寻找这样的机会,可以立即从中获益,且造成破坏的可能性最小。 + +寻找任何能带你进入系统的目标。 + +代码中是否有简单明了的 README 文档,如果没有,就创建一个,并包含你目前为止学到的东西。 + +> 小故事: +> +> 1. 他人即地狱 —— 让.保罗.萨特(存在主义哲学家) +> 2. 他人之代码即地狱 —— 让.保罗.码农 + +好的代码,就像地图,为你在系统中指引方向。 + +## 走出泥潭 + +大概我们都遭遇过流沙代码,不知不觉涉入其中。很快就有了沉沦的感觉。代码是浓稠细密的,极难修改,而且对于任何的修改都有很强的阻力。你付出的努力越多,就陷得越深,这简直是数字时代的陷阱。 + +有些代码非常卓越,美的像艺术品,优雅的像诗歌。清晰的结构,适当的节奏,优美的韵律,以及连贯性和美感使得阅读和修改都令人身心愉悦。 + +> 混乱的代码无所不在,要未雨绸缪。准备一些应对的发包,并且能运用自如。 + +你不能要求所有的代码都完美,哪怕是对自己,也不能强求。 + +> 遇到糟糕的代码,要克制自己的厌恶情绪,想办法进行一些切合实际的改善。 + +如何衡量代码质量: + +1. 外部接口是否清晰合理? +2. 数据类型选择是否合理,命名是否规范? +3. 代码布局是否整齐划一? +4. 对象之间的交互方式是否简单清晰,控制流程是否合理? +5. 完成特定功能的代码是否容易定位? + +在评估代码质量前,可以做一些软件考古工作: + +1. 代码存在多久了? +2. 相对于整个项目,有多少人参与过项目? +3. 最近一次修改是什么时候? +4. 最近修改代码的工程师还在项目里工作么? +5. 代码的 bug 多么? +6. bug 的修复速度怎么样? + +> 慎选战场。权衡是否应该投入时间和精力来清理糟糕的代码。置之不理可能更加务实。”如果这段代码还能跑,那么就不要去动它“ + +> 每一次修改的背后,都事出有因,不要去追究责任。 + +## 8. 不可忽视错误 + +> 只要有了自信和无知,就必然能成功 —— 马克吐温 + +无知者无畏,没有顾虑就容易产生自信。用现在的网络用词讲,那就是”干就完了“。 + +> 不要忽略代码中的任何错误,不要推迟到以后出错再处理,”以后“处理通常意味着不会处理。 + +错误的托词: + +1. 错误处理使得代码流变得更加混乱,难以阅读,同时遮盖了「正常」的执行流 +2. 检查错误会造成额外的工作,我的最后期限迫在眉睫 +3. 我知道这个函数永远不会返回错误 +4. 这段程序只是用来演示而已,没人会来调用它 +5. 我的编程语言鼓励不对错误进行处理(erlang: 让它失败吧,错误的代码应该尽快让它失败,并使其进程终结。) + +> 小故事: +> 如何避免代码中的错误: +> +> 1. 代码越多,错误可能潜藏的地方也越多 +> 2. 解决方案:那就把代码都删掉,问题解决了 + +## 9. 意料之中的意外 + +半杯水对有些人来说是半满的,对有些人来说是半空的。但是有些程序员甚至连杯子都视而不见,在编写代码时,他们根本不考虑异常情况。他们既不是乐观主义者,也不是悲观主义者,甚至不是现实主义者,而是顽固的忽视主义者。 + +在编写代码时,不要只考虑正常执行的路径。要考虑所有可能发生的不寻常路径,不管是多么不寻常。 + +对于可修复的代码,为其编写恰当的修复代码。对于无法修复的错误,要尽量编写合理的错误处理代码。听天命,尽人事。但不要忽略它。 + +问题的关键不是杯子来有多少水,而是如何制造一个密封的玻璃瓶,这样无论有多少水,都不会溢出来。 + +> 珍惜每一次错误 + +## 10. bug 追踪 + +> 如果调试程序是移除 bug 的过程,那么编写程序就是引入 bug 的过程 ——_艾兹格_·W.迪杰斯特拉 + +预防胜于治疗 +应该始终采用可靠的工程实践,将意外发生的可能性降到最低。成熟缜密的设计、代码评审、结对编程和深思熟虑的调试策略是必不可少的。断言,防御性编程和代码覆盖工具都有助于防止系统出现错误。 + +> 通过合理使用工程实践,减少 bug 进入代码,不要期望快速生成的代码是高质量的。 + +> 任何人都可以编写计算机能够理解的代码,而优秀的程序员编写的是人类能够理解的代码——马丁.福勒 + +一个 bug 的修复难度通常由两个因素决定: + +1. 可复现的程度 +2. 软件缺陷进入时间和你意识到它存在的时间之间的间隔 + +系统地研究和分析 bug,尽可能收集信息: + +1. 确定最简单的复现路径。筛除所有与发现问题无关的细节,它们只会分散你的注意力 +2. 确保只关注一个问题。当你没有意识到自己把两个独立但相关的错误合并在一起时,很容易陷入混乱 +3. 确定问题的可重复性。复现步骤多久会重复一次问题?是否依赖于一系列简单的行动?是否取决于软件配置或者机器环境? + +> 断言和日志都是有效消除 bug 的工具,要高效使用。 + +但要小心,不要让代码充满无关紧要的日志信息,因为它们会掩盖真正发生的事情,造成不必要的调试噪声。 + +#### 活用二分法 + +采用二分法可以聚焦 bug 分析过程。 + +相对于顺序跟踪代码执行路径。有另外一个选择,确定执行链的开始和结尾,然后把问题拆分成两部分,计算出在中间点问题是否已出现。根据这些信息,你已经把问题空间缩小了一半,重复几次,很快就能定位到问题。 + +二分法通过缩小问题的范围,以`O(logn)`而非`O(n)`的时间复杂度得到一个解决办法。 + +#### 软件考古 + +在版本控制系统中挖掘历史记录,不仅是解决问题的好途径,也是追踪 bug 的简单办法。 + +> 执行一系列小而频繁,而不是一次性提交大量内容 + +#### 测试,测试,再测试 + +就像矿工们的金丝雀一样,在问题变得更复杂和难以收拾前,单元测试会早早失败,暴露问题。 + +有了一组测试之后,可以考虑使用代码覆盖工具来检查测试实际覆盖了多少代码。一个简单的经验法则就是:如果一段代码没有被单元测试覆盖,那么你就不能相信它可以正常工作。即使现在看起来没问题,之后也有可能出错。 + +当你确定了 bug 来源时,编写一个简单的测试来复现问题,并在提交修复前将其添加到测试用例中。这么做需要有强大的自制力,因为一旦找到 bug 的罪魁祸首,你自然希望尽快修复并发布。但你应该首先编写一组测试用例来展示问题,并用它来证明问题已经修复。 + +#### 用排除法查找问题 + +当问题可以复现时,考虑排除所有与问题看起来无关的代码。以便专注于错误代码上。 + +#### 保持清洁的环境 + +不要让 bug 在软件中徘徊停留。 + +把小问题标记为已知问题并将之置之不理是一种危险的行为。这会导致”破窗综合征“,让人们觉得种种不严谨和邋遢的行为是正常并且可以接受的。不良行为日积月累会掩盖很多的 bug。 + +> 尽快修复 bug,不要让 bug 堆积起来,将你的代码变成垃圾场 + +#### 迂回策略 + +有时候,你会在一个棘手的问题上焦头烂额,毫无头绪。有时候采用迂回策略以避免陷入盲目状态。 + +- 稍事休息。停下来喘口气,喝杯咖啡,活动一下头脑。休息能够帮助你找到新的视角。与其一头钻入代码,不如停下来斟酌一下问题。 + + 出去散散步,远离键盘。 + +- 讲给别人听。通常,当你向别人描述问题时,你也在梳理自己的思路并有可能解决问题。如果找不到人来聆听你的问题,可以采用小黄鸭调试法,通过和一个小物件交谈,等同于是向自己解释这个问题的来龙去脉。 + +#### 不要急于离开 + +一旦修复了一个问题,不要盲目往前冲。停下来,思考下这段代码是否还有其他相关问题。已修复的问题是否可能也会出现在其他地方。你通过修复 bug 的收获是否可以改进系统其他未知的代码? + +辨别并记录那些包含较多错误的代码,当一段代码总是出错时,在上面花些时间是有必要的,可以考虑重写,进行更深入的代码评审,或添加更多的单元测试。 + +### 不可复现的 bug + +有时你会发现一个 bug 没有清晰的复现步骤。它违背了逻辑和理性,很难确定用户的操作和问题之间的相关性,这些令人讨厌的 bug 就好像是宇宙射线带来的一样。跟踪这些 bug 需要很长时间,因为我们不会在开发环境和调试设备上看到它们的身影。 + +解决方法: + +1. 持续记录产生问题的相关因素。随着时间的推移,你会找到一些规律 +2. 考虑在代码版本中添加更多的断言和日志信息。 +3. 如果问题紧迫,考虑设置一套独立环境来模拟 bug + +可能会出现这类问题的原因: + +1. 线程冲突 +2. 网络延迟 +3. 存储差异 +4. 内存溢出 +5. 全局变量 + +### 小故事 + +1. 我不是在找 bug +2. 代码里的 bug 比螃蟹都还要大 + +## 11. 测试时间 + +> 质量是免费的,但只有那些愿意付出沉重代价的人才能拥有 —— 汤姆.迪马克《人件》 + +> 改进软件开发,需要快速反馈。问题已出现就立即研究并解决它们。好的测试策略能够缩短反馈循环。 + +测试的种类: + +1. 单元测试(unit test) + 单元测试是独立测试最小功能”单元“,以确保它们每个功能都正常。如果某个测试不是独立地测试单个代码单元(类 or 函数),那么它们就不是单元测试。 + 单元测试不会涉及任何的外部访问:没有数据库,网络或者系统操作。 +2. 集成测试(integration test) + 测试检查独立的单元如何集成在一起,并互相聚合,互相操作,以实现更大的功能。集成的组件整合在一起并正确地相互操作。 +3. 系统测试(system test) + 系统测试又称为端到端测试,覆盖系统说明书中的所有功能。 + +单元测试覆盖所有的代码,集成测试和系统测试覆盖所有需求和功能。 + +> 在编写代码的同时编写测试。不要推迟,否则测试效率会非常低。 + +单元测试有助于改善设计,不仅能确保功能正常,防止造成破坏,还能探索 API 如何被使用,是否简单且整洁。这是非常宝贵的反馈。测试即文档,用来说明我们的类是如何被使用的。 + +单元测试简单易行,有助于改善代码结构。 + +测试应该作为**持续集成**(continuous integration)工具链的一部分,在构建服务器上执行。 + +> 再好的开发测试也无法取代周密的 QA 测试。为他们喝彩吧 + +优质的测试有以下特点: + +1. 命名简短,清晰。 +2. 可维护度高,易于编写,阅读和修改 +3. 运行速度快 +4. 始终和生产代码一致 +5. 可以直接运行,不需要任何的预先配置操作 +6. 不依赖任何其他测试用例以及测试执行顺序,不依赖外部状态,也不依赖代码中的共享变量 +7. 测试真实的生产代码 + +坏的测试代码: + +1. 有时成功,有时失败 +2. 测试代码难以阅读或修改 +3. 测试代码太大 +4. 在一个测试用例中测试多个行为 +5. 测试仅仅是按照顺序执行,而不是针对特定的行为和功能 +6. 对不是你编写的第三方代码进行测试 +7. 测试用例没有覆盖类的主要行为或功能 +8. 测试覆盖很多无意义的细节(比如各个属性的 getter 和 setter) + +### 具体的测试 + +`arrage-act-asert` 模式: + +1. arrange:准备测试的输入 +2. act:执行操作 +3. assert:断言,验证操作结果 + +测试应该读起来就像代码的说明文档。 + +### 没有代码是孤岛 + +代码单元通过两个契约与外部世界交互:对外提供的接口和使用的外部接口。除此以外,它不应该依赖其他东西,特别是不应该依赖共享的全局状态或单例对象。 + +> 全局变量和单例对象不利于建立可靠的测试。测试具有隐藏依赖的代码单元难度较大。 + +代码单元提供的接口通常是公有方法、函数、事件和 API 属性。 + +类的外部依赖对象应该作为构建函数传入。这样可以允许类的所有者配置依赖,从而避开对其他代码的硬连接依赖。 + +> 构建易于测试的代码,有利于产生好的设计。 + +> 如果不考虑质量,那我们可以满足所有需求 -- 杰拉德.温伯格 + +测试有助于编写好的代码和维护代码质量,他们不仅可以驱动代码设计,还可以作为软件的文档。艾兹阁.迪杰斯特拉说过:测试是表明存在 bug 非常有效的方法,但它无法证明没有 bug。 + +没有测试是完美的,但拥有测试可以增强我们编写和维护代码的信息。在开发测试上投入的精力是一种权衡取舍,你愿意投入多少精力来获得信心? + +测试的关键点很简单:编写了代码就要编写测试。为生产代码编写测试,并使用它们来驱动设计。在编写代码的同时编写测试,并自动运行这些测试。 + +缩短反馈循环。 + +> 小故事: +> 开发者:团队中没有“我”,只有我们 +> 测试者:提 bug 的时候,没有“你”不行 diff --git a/public/llm-deep-practice/index.md b/public/llm-deep-practice/index.md index e6d5fe8..e609a0a 100644 --- a/public/llm-deep-practice/index.md +++ b/public/llm-deep-practice/index.md @@ -572,6 +572,12 @@ model Conversation { } ``` +3. prisma 默认访问的是国外源,可能会出现无法下载,建议设置国内源 + +```Dockerfile +ENV PRISMA_BINARIES_MIRROR http://npmmirror.com/mirrors/prisma/ +``` + Prisma Client 提供了强大的 typescript 类型能力,此处见演示。 值得注意的是,Prisma Client 是一个全局实例,无需重复定义。