发文章
发文工具
撰写
网文摘手
文档
视频
思维导图
随笔
相册
原创同步助手
其他工具
图片转文字
文件清理
AI助手
留言交流
计算机科学有两个难点:缓存失效,给变量命名,以及差一错误。——Leon Bambrick
“软件的主要价值不在于产生的代码,而在于产生它的人所积累的知识。”——Li
我的Github数据
演示如何使用我正在测试的类/函数/系统;
展示出所有我认为可能会出错的内容。
这锁好使(吗?)
首先是你用来开发的机器(所有“它在我的机器上能正常工作!”这类meme(梗)的来源);
其次是你用来测试的机器(可能与你用来开发的机器相同);
最后,有你用来部署的机器(请不要让它与你用来开发的机器相同)。
使用数量是多少?
有多少用户?预期的增长是多少?(这将转化为多少个数据库行)
未来的失误可能是什么?
本地开发将如何运作?
我们将如何打包和部署?
我们如何进行端到端测试?
我们将如何对这项新服务进行压力测试?
我们将如何管理秘密?
CI / CD集成?
你不能把它们放在代码中,不然任何人都可以看到它们了。
把它们作为环境变量,就像12 factor app那样?这是个好主意。但是你要怎么把它们放在那里?(每次机器启动时访问PROD机器来填充环境变量都很痛苦)
部署为秘密文件?文件来自哪里?它是如何填充的?
保持业务逻辑和基础架构分离:通常退化的是基础架构——使用量增加,框架变得过时,零日漏洞的出现等等。
围绕维护来构建流程。对新的部分和旧的部分进行相同的更新,可以防止新旧之间的差异,并使整个代码保持“现代”。
确保你一直在修剪所有不需要的、旧的东西。
部署是否需要花费太多时间?
Code review会变得更加不容易吗?
如果其中一个有bug,就会自发阻止一个功能。
这样做违背了降低风险的原则,或者说是增加了出错的风险。
机器开启了吗?
是否装好了正确的代码?
配置到位了吗?
<代码特定配置>,就像代码中的路由是否正确?
架构版本是否正确?
然后,进入代码部分。
从抽象还是实现的角度思考?
我应该对如何做事有强烈意见吗?也许是因为以前吃过亏?我以前做过的工作是否为自己赢得了话语权?
开发工作流程。如果因紧急情况或事件需要改变工作方式——那么这个流程是否会被破坏?它需要被修理好吗?
utils(你放置随机东西的文件夹,不放在这里的话,你不知道该放在哪里)是代码味道(code smell)吗?
如何处理代码和工作流的文档?
如何监控UI才能知道什么时候出问题了?
花时间设计完美的API /代码合同,以及自己写出代码并反复迭代选出最优的那个之间,哪一种更好?
简单的方式vs正确的方式?我不觉得正确的方法永远是优越的。
自己做事vs教那些不会的人如何做事。前者完成速度快,后者意味着你以后就很少需要自己亲自动手了。
当重构和防止巨大问题时:“如果我先改变了所有的测试,那么我会看到我有52个文件需要修改,这显然太大了,但是我先去管代码而不是测试吧。”分开处理值得吗?
在降低风险(derisking)方面做进一步探索。有哪些策略可以降低项目的风险?
收集需求的有效方法有哪些?
如何降低系统退化率?
【END】
来自: 黄爸爸好 > 《技术》
0条评论
发表
请遵守用户 评论公约
我从资深软件工程师学到的避坑大法
代码中有诸如「当 Mohammad 发现情况时取消注释代码」这类的注释。不仅仅是代码的文档,还有关于代码的流程。代码审查。我非常喜欢测试...
一周爆肝上线百万高并发系统!你给我解释解释什么叫牛逼?
状态流转系统的通知数据之后可能存在其他消费方,使用消息队列利于扩展,对代码侵入性也少2.消息队队列可持久化消息3.TubeMQ支持消费方...
编程时帮你减少Bug的八种方式
对模块进行单元测试或集成测试:遵循测试-代码-测试的原理,写一些成功或失败的案例帮助你识别函数所有可能的输入和代码相应的处理。它能很容易帮你识别代码中的bug。代码审查:在将代码提交到正式的环...
AI来编程 码农何去何从?
AI来编程 码农何去何从?有些人认为软件开发的工作只是比创造不断重复代码片段复杂一点,那么现在,人工智能的快速发展可能会让软件工程...
明星软件工程师的10种特质
1. 热爱编程 2. 完成事情 3. 持续重构代码 4. 使用设计模式 5. 编写测试 6. 善用现有代码 7. 专注可用性 8. 编写可维护的代码 9. 能用任...
10+年程序员总结的20+条经验教训
程序员
运维能力新进化|魅族持续集成平台建设之路
运维能力新进化|魅族持续集成平台建设之路。监控标准化,如技术监控、应用监控。其次还有可以根据我们的一些数据进行效率上的提升,比...
拯救你的旧代码库,不得不看的11条军规!(文末有惊喜)
拯救你的旧代码库,不得不看的11条军规!尽可能冻结数据库修改,当完成第一阶段的改进,直到团队对代码库有了彻底的了解,遗留代码已经...
什么是测试
也有人说测试就是找Bug;至于这98% ,内行都知道,这时产品测试规划中,通过各种模型、指标、约束条件、客户环境、市场因素、软硬件环境、需求复杂度和技术水平综合考虑,拟定的一个指标,你的产品测试...
微信扫码,在手机上查看选中内容