如何制作网站板块,电子商务网站开发公司,microsoft免费网站,东莞常平中学智慧校园应用中心转自#xff1a;https://www.oschina.net/translate/mastering-programming#xff0c;有删改 文章目录时间学习超越逻辑风险通过对优秀程序员的多年观察#xff0c;我观察到了他们工作流程中的某些常见模式。通过对所职教的熟练程序员的几年#xff0c;我观察到他们缺失这…转自https://www.oschina.net/translate/mastering-programming有删改 文章目录时间学习超越逻辑风险通过对优秀程序员的多年观察我观察到了他们工作流程中的某些常见模式。通过对所职教的熟练程序员的几年我观察到他们缺失这些模式。我已经看到了引入这些模式的不同之处。 (注从内容看是对工作模式和原则的思考也不仅仅针对编程
时间
分片。完成一个大项目时将其分割为小的切片并重新排列这些切片以适合你的场景。我总是可以更好地分割项目我总能找到满足不同需求的切片的新排列。一次做一件事。我们如此专注于效率以致于我们在一次降低开销的尝试中减少了反馈周期的数目。这导致难以调试的情况其预期成本大于我们所规避的周期开销。使它运行确保其正确使其快速。(一次做一件事、分片和简单改动的例子)简单的改动。当面对困难的改动时首先要简化之警告这可能会很难然后完成简单的改动。例如分片、一次做一件事集中隔离。分片的例子。集中。 如果你需要改动多个元素请首先重新排列代码以便只需要在一个元素中进行改动。隔离。如果你只需要改动元素的一部分则提取该部分以使整个子元素发生改动。基线测量。通过衡量当前世界状况来启动项目。这违背了我们开始修正错误的工程本能但是当你测量基线时你实际上会知道你是否在修正什么。
学习
表明想法。在运行代码之前准确预测会发生什么。实际猜测。当程序行为不正常时在做出改变之前准确地阐明你认为错误的部分。如果你有两个或更多猜想请予以鉴别区分。删除无关细节。在上报错误时请找到最短的复现步骤。在隔离错误时找到最短的测试用例。在使用新的API时请从最基本的示例开始。“所有这些东西都可能不重要”在它是错误的时候这是一个代价很高的假设。 例如查看手机上的一个bug可使用curl复现 多维度。在不同维度间自由穿梭。也许这是一个设计问题而不是测试中的问题。也许这是一个人的问题而不是技术问题[骗人这总是对的]。
超越逻辑
对称性。几乎相同的事物可以分为相同的部分和明显不同的部分。美学。美丽是一种强大的攀登阶梯。它也是一种对蔑视的解放之阶梯例如将一堆函数内联成一个巨大的集合。韵律。等到合适的时刻可以节省能量并避免混乱。在行动之时快速行动。权衡。所有决策都需要权衡。知道决策取决于什么比知道今天选择哪个答案或者昨天你所选择的答案更重要。
风险
兴趣列表。当次要的想法出现时请记录之并快速恢复继续工作。当你到达停靠点时重新阅读此列表。喂养想法。想法就像受惊的小鸟。如果你吓跑了他们他们就会停止造访。当你有一个想法喂它一点吃的。尽可能快地证明其错误性但需要基于数据而不是出于缺乏自尊。80/15/5。将80%的时间花在低风险/合理报酬的工作上。将15%的时间花在相对高风险/高回报的工作上。无论收益如何将5%的时间花在让你愉悦的事情上。教导下一代完成你80的工作。当有人准备接任时你的15实验中的一个或者不那么频繁你5实验中的一个将获得回报并将成为你的新80。重复这一过程。