【干货人生篇】过早优化的陷阱!

从认知陷阱到行动系统:如何科学提升个人执行力与专注力 在个人效能与时间管理领域,认知行为系统是理解人类行动模式的基础框架。其核心原理在于,行动并非单纯依赖意志力或动机,而是通过设计环境、流程与反馈机制来塑造。这一认知行为系统的技术价值在于,它将抽象的自律转化为可操作、可迭代的工程化解决方案,帮助个体克服拖延、提升专注力与执行力。从应用场景来看,无论是应对日常任务拖延、提升工作效率,还是进行长期习惯养成,构建个人化的行动系统都具有普适性。本文聚焦于通过识别行动瘫痪的认知陷阱(如混淆动机与行动、追求完美计划),并系统性地构建包含无阻力环境设计、核心行动定义及即时反 阅读详情

来自:DataWhale

作者:桔了个仔

我的专栏叫作「面向人生编程」,一直以来,只做到「编程」,很少讲「人生」。今天灵感突然来了,那就编程的同时讲讲人生。

在软件工程领域,有个词叫做「过早优化」。指的是写代码的过程中,还没完成功能,就开始搞优化,例如写到一半,就去想刚才那个函数换个写法是不是效率更高或者兼容性更好。

举个具体的例子。例如某个老板看到旅行青蛙游戏的小游戏很火,想开发个旅行猫咪的小游戏,找来一个做过大型游戏的程序员进行开发。这位程序员可能一拿到策划案,就开始规划各种资源管理器,配置管理器等等,开始计划扩容等等,以「兼容」后面一些意想不到的功能,防止因为没设计好架构,后面大幅度改动。但事实上,等这个程序员做好这些配置,这类游戏的热度早已过去。即使热度还在,做出来的游戏可能臃肿,比起其他同类游戏毫无优势。

著名的计算机科学家,经典巨著《计算机程序设计的艺术》的作者Donald Knuth说过一句话:「过早优化是万恶之源」(Premature optimization is the root of all evil)

换到我们生活中,也有的人会犯下「过早优化」的毛病。这个词生活化点的近义词是「完美主义」。当然,这里「完美主义」指的是计划上的完美主义,指的是计划不完美就不敢开始行动,并不是指一个人工作过程精益求精,在生活中过早优化有两个缺点:

  • 踌躇不前。害怕过程不完美,从而不敢开始,结果什么都没做成。

  • 自我怀疑。即使做了完美的计划,开始行动后会发现计划赶不上变化,于是开始自我怀疑,陷入失败的循环。

我2014年开始健身,到现在坚持7年了。和我一起开始健身的小伙伴,很多中途没坚持下去了。据我观察,多数人开始健身,是这样的:

  1. 办个健身卡,买好运动装备,鞋子衣服运动裤腰带手套,走入健身房。

  2. 练几下,感觉肌肉充血,信心满满的自拍。

  3. 坚持了几天,感觉动力不足,不去了,健身卡从此吃灰。

而我开始健身的途径是这样的:

  1. 徒手俯卧撑,深蹲,用公园里的单杠练背。

  2. 去淘宝买负重沙袋,负重做无器械锻炼。

  3. 练了两个月,已经适应了沙袋的重量,开始办健身卡走进健身房,使用大重量锻炼。

  4. 记录每次训练重量,计划下次训练要加重量。

类似的,有的人下定决心看书,就给自己买最贵的电子阅读器,以为这样能倒逼自己学习。其实这样并没有用。我买电子阅读器前,我在手机已经读了200多个小时,我需要电子阅读器,并不是我没有电子阅读器我就不能读书,我依然可以在手机读书,只是在手机读久了,眼睛视力有点下降,才开始考虑电子阅读器。

可以看到,开始做一个事情时,并不一定要万事俱备。锻炼需要走进健身房吗?不一定,你每天原地深蹲,也是一个开始,不完美的开始但一直坚持,总比半途而废好。同理,写一篇好文章需要等灵感吗?也不需要,你需要的是按照主题,收集材料,在这个过程中,灵感自然会出现。灵感不是等出来的,是干出来的。当然,我能理解灵感出现后立马提笔写字的快感,我也偶尔有过(例如这篇),但更多的时候,我是提笔后写了一段才有灵感的。

况且,万事俱备的一个坏处,就是你一下子摸得太清,你反而失去了沿途发现新奇事的乐趣。就好像一个电影,你还没开始看就被剧透完了,等你再进去电影院看,就失去了很多的乐趣。

但我们说不要过早优化,并不是从不优化,而是让优化伴随整个软件生命周期;在软件领域,又有一个词,叫做 「屎山」 ,指的是代码因为长期缺乏维护和优化,变得难以阅读,难以修改,甚至稍微一改动就会奔溃。人生也是这样,长期缺乏规划,也会让我们人生变成「屎山」。例如有的人每天得过且过,陷入职场困境;或者从不管理花销,从而陷入财务困境。

换到人生来说,不是说不做任何计划,而是不要做那种大而全的计划。你可以有很远大的理想,但你不能规划好每一步再行动,你需要的是,迅速制定最小可行计划,马上行动,根据遇到的情况去调整计划,毕竟「绝知此事要躬行」。就好像你开车去某个地方,你并无法通过计划方向盘怎么摆动来到达那个地方,你只能根据实际路况操纵方向盘。

在《精益创业》一书中,有一个词叫做MVP(Minimum Viable Product,最小化可行产品)。通过低成本试验,找到合适的路。如果我们的人生是一场或多场创业,那么我们也可以通过找到MVP,来打磨产品——更好的自己。例如通过无器械健身,确定自己热爱运动,再去办健身卡;通过在电脑机房写代码,确定自己热爱编程,再去配自己的工作站;通过去不同类型的公司实习,确定自己热爱的工作,再去择业。

记住,过早优化是万恶之源,无论是编程,还是人生。


觉得还不错就给我一个小小的鼓励吧!


il2cpp分析-gobal-metadata.dat解密 打开ida,把libil2cpp拖到ida中按快捷键Shift+F12等待字符串分析完后,搜索global-metadata.dat。ida中双击sub_57EE7C进入,VS code中也跳转到LoadMetadataFile函数。VSCode打开il2cpp源代码,全局搜索global-metadata.dat。工具:010Editor,IDA 7.5,Jadx,VS Code。判断加密逻辑为根据文件的长度循环读取字节码做亦或加密。双击搜索出来的结果,切记要选il2cpp目录下的。 阅读详情

相关推荐

疫情数据分析的“核武器”!JHU CSSE COVID-19数据集超深度解析与实战指南(附代码)

在面对这场没有硝烟的战争时,除了医护人员在前线与病毒搏斗,还有一群默默的英雄——数据科学家和分析师,他们利用手中的“数据武器”,昼夜不停地监测、分析、预测疫情走势,为政府决策、资源调配、公众科普提供了至关重要的支撑。同时,由于某些国家(如美国、加拿大、澳大利亚、中国等)的数据细化到省/州级别,为了得到国家层面的总数据,我们需要按国家和日期进行聚合。正是在这样的背景下,经过这些步骤,我们已经得到了一个包含了累计数据、每日新增数据和活跃病例数的完整数据集,可以开始进行深入的分析和可视化了!

wylee的博客 1167

过早优化的危险

关于优化,Donald Knuth有段著名的评论:        程序员浪费了大量时间考虑,或担心程序中无关紧要部分的速度,并且那些城市改进效率的行为实际上有很强的负面影响......过早优化是万恶之源。       这段话在业内引起了广泛争论,而且人们通常只记住了最后一句。这之所以令人感到遗憾,有如下原因。       1、在评论的前段,Knuth含蓄地提醒我们要测量,没有测量

superli0427的专栏 988

InsightFace实战:如何在树莓派上部署轻量级人脸识别系统(附完整代码)

本文详细介绍了如何在树莓派上部署基于InsightFace框架的轻量级人脸识别系统。通过硬件选型、环境配置、模型优化(如MobileFaceNet)及完整代码实战,指导开发者构建本地化、低功耗的智能应用,如智能门铃,并提供了性能调优与系统服务化的进阶技巧。

weixin_29043895的博客 352

为什么过早的优化是万恶之源

作为一名在IT领域摸爬滚打多年的工程师,我深有体会地认识到过早优化是软件开发中的一大陷阱。在软件开发的初期,我们可能会过于关注代码的性能问题,而忽略了代码的可读性、可维护性和可扩展性。这种做法可能会导致代码的复杂性增加,降低代码的可读性和可维护性,甚至可能会浪费大量的开发时间和资源。在软件开发过程中,我们应该避免过早优化,而是优先考虑代码的可读性、可维护性和可扩展性。当需要进行性能优化时,应该在代码的基础上进行优化,通过分析性能瓶颈、优化算法和数据结构等方法来提高代码的性能和效率。

heshihu2019的博客 739

保姆级教程:用Java和HslCommunication库搞定三菱PLC数据读写(附完整代码)

本文提供了一份详细的Java与三菱PLC通信教程,通过HslCommunication库实现高效数据读写。内容涵盖环境配置、通信模式选择、数据类型操作、异常处理及性能优化,并附有完整代码示例,帮助开发者快速掌握工业自动化中的PLC数据交互技术。

weixin_28731223的博客 228

Claude Skills:不是更聪明,而是更“像专家”的 Agent 养成方法

Claude Skills 不是在告诉 Agent“你能做什么”, 而是在约束它“你应该如何思考、如何判断、如何给结论”。

测试者家园 1296

过早优化:开发中的效率陷阱

摘要:过早优化(Premature Optimization)指在开发初期过度关注性能等细节,反而损害代码可读性和开发效率。计算机科学家Donald Knuth认为它是"万恶之源",会导致资源浪费、维护困难、进度拖延等问题。正确做法应是先保证功能实现和代码清晰,待系统上线后用数据识别瓶颈再针对性优化,遵循"先能用、再正确、最后快"的原则。团队开发中要避免个人过早优化行为,通过代码评审建立共识。

本博客聚焦游戏开发技巧、创业实战心得及大学热门课程干货。这里既有技术深度,也有思维广度,无论你是开发者、创业者还是高校学子,都能在这里找到适合自己的成长之路! 731

linux下redhat6.8(理论是都适用)安装oracle12c---详细教程

1、配置yum源 1)、删除Redhat自带的yum: (2)、上传centos的yum包,并按照顺序安装,所需的rpm包通过点击这里获取(放在oracle文件中的centos yum):上传到linux中 进行安装 yum包链接:https://pan.baidu.com/s/1TxciCWEd7d-d4kGoea0L1w 提取码:eufp `` --注意后面两个安装包一起安装 ## 3)、更改系统yum源: 编辑rhel-source.repo文件,将其中的$releas

z931407229的博客 1149

浅谈‘过早优化’

优化即根据实际的业务需求,在程序,架构以及部署方面下功夫,降低资源消耗,提升资源利用效率。有效的优化能给企业节能增效,是老板换劳斯莱斯,买别墅的制胜法宝,是编程人提升自我,改造自我的关键所在。程序员们浪费了大量的时间去思考、担心程序中非关键部分的性能,如果考虑整体代码的debug和维护的时间,则这些性能优化的开销是得不偿失的。在未得到市场反馈前,一切都是根据经验的假设,而过度的优化则会让这种假设的成本大大增加。过早优化是开发人员应该一直考虑的事情,是在日常工作中应该尽量避免的事情。...

tiway的博客 782

SAP采购订单中项目类别B(限制)的控制逻辑

在笔者所在企业中,框架类采购订单中项目类别需要选择B(限制)。今天笔者从比较全面的角度分析了一下这个项目类别B到底可以决定些什么?控制到什么?先从后台SPRO中打开相应的配置菜单。 打开项目类别B之后,可以看到一些配置信息,这里有一点与其它配置不同的地方,即无法新增项目,也无法修改现有项目。这个疑惑今后再去解决吧。当前只研究项目类别B的控制逻辑。 下面就参考上图中的配置分段来分析和测试其控制逻辑, 1、如项目类别配置图,所需材料值为不允许;经测试,如下图在采购订单创建时,不能输入物料编号条目。

专注SAP应用技术文章写作,致力于拉近用户与系统间的距离; 6035

【语音识别入门】特征提取(Python完整代码)

给定一段音频,请提取12维MFCC特征和23维FBank,阅读代码预加重、分帧、加窗部分,完善作业代码中FBank特征提取和MFCC特征提取部分,并给出最终的FBank特征和MFCC特征,存储在纯文本中,用默认的配置参数,无需进行修改。抽样时频率不够高,抽样出来的点既代表了信号中的低频信号的样本值,也同时代表高频信号样本值,在信号重建的时候,高频信号被低频信号代替,两种波形完全重叠在一起,形成严重失真。DFT得到了每个频带上信号的能量,但是人耳对频率的感知不是等间隔的,近似于对数函数。

weixin_51293984的博客 1万+

性能-早期的速度优化并非过早

正如我们所看到的,如果你正在使用 Python 编写数值数组处理代码,你可以使用普通的 Python,也可以使用 NumPy。你解决的问题可能并不独特。这意味着可能有人已经编写了相关的库或工具,或者记录了交互模式或算法,这些将允许你编写更快的代码。你可以找到很多例子,编写更快的代码需要更多的努力,导致代码更难维护,或者两者兼而有之。这意味着在相关的情况下,从编码的一开始就使用 NumPy 是值得的优化。本文的原始版本错误地包含了一个非向量化的 NumPy 版本,该版本并不更快,我复制了错误的代码版本。

liluo0815481的博客 755

告别社区5级:一个脚本搞定小米/红米BL解锁的账号绑定限制(附资源下载与避坑指南)

本文提供了一种绕过小米/红米设备Bootloader解锁社区等级限制的技术方案,适用于MIUI 12.5-14和HyperOS 1.0系统。通过自动化脚本临时修改系统组件,用户可快速完成账号绑定和设备解锁流程,附详细操作指南和常见问题解决方案。

weixin_27330481的博客 738

过早优化的陷阱!

↑↑↑关注后"星标"Datawhale每日干货&每月组队学习,不错过Datawhale干货作者:桔了个仔,南洋理工大学,Datawhale成员我的专栏叫作「...

Datawhale 473

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

技术可以迭代,人生无法回滚

作为程序员,我们手握最强大的迭代思维,却常常忘了善待自己的人生。代码可以无数次回滚、重构、优化、重来。但日子只有一次,当下的每一刻,都是一次性上线,没有补丁,没有撤回。深耕技术,但不困于技术;拼命谋生,更要认真生活。祝所有同行:代码稳定运行,生活稳步升温,迭代有度,岁岁安稳。

zijieduke的博客 182

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

36岁会计学python来得及吗_程序员36岁面临优化,存款才几十万怎么活?哭诉人生无望!...

程序员的工作年限一直是大家热议的话题。似乎35岁成为程序员工作生涯的一道坎。越爱越多的人调侃程序员就是吃青春饭的行业。面对如此严峻的就业形势,许多的程序员们也是十分焦虑。越来越多的年轻力量出现,老一代就面临着各方面的压力。这种焦虑在我们工作中如影随形。看到别人的故事,许多网友也会有相同的担忧。有什么工作是稳定的?生活总是反复无常的。又有谁能在现在就确定自己的工作是十分稳定的呢?没有。所以说,我们首...

weixin_34849898的博客 526

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

从消息中间件看分布式系统的多种套路,干货满满!

前言: 都说学历是敲门砖,是一点都没错,即使是在重技术轻学历的互联网企业,面试官对于学历越高的程序员初印象会更好,面试也会更顺利,而大部分专科学历的程序员,除非有过硬的技术,否则想要进入一二线互联网公司,几乎是不可能,毕竟简历刷就过不了。但是,作为一名专科毕业的程序员,如果技术过硬,又有十足的把握,充分的自信,即使是在简历被刷的情况下,也可以通过其他的途径,如内推、霸面等形式。 一、架构筑基:深入内核、直击故障、拒绝蒙圈 大家都知道,性能一直是让程序员比较头疼的问题。当系统架构变得复杂而庞大之后,性能方面

m0_57286518的博客 141

MySQL优化原理分析及优化方案总结,绝对干货分享

前言 假如你去面试,面试官让你聊一下对索引的理解,然而你对索引的理解仅限于,检索数据就是快,是一种数据结构这个层面,那你就只能回家等通知了。 为了避免这种尴尬的事情发生,咔咔用时两天将索引的内容在自己理解的范围内进行了整理,如有整理不全面的地方可以在评论区进行补充和提建议。 一、 电面: 自我介绍 项目情况: 对你来说影响最大的一个项目(该面试中有关项目问题都针对该项目展开)? 为什么会想做这个项目?这个项目的ideal是谁提出来的? 项目中如何实现的大数据的传输和存储 项目中哪一部分最难攻克?如何攻克?

m0_56301848的博客 170

技术人从糊口到进阶与技术人创业避坑干货

摘要: 从电子电路技术人转型创业者的实战经验分享。技术进阶分三阶段:1)扎根期聚焦细分领域,建立外协合作圈;2)突破期用自动化提效;3)核心竞争力期洞察客户隐性需求。创业三大避坑指南:1)建立科学报价体系;2)规范股权架构;3)从接单思维转向平台化运营。作者将技术进阶方法论和创业实操经验整理成《电子电路技术进阶秘籍》和《技术个体户转平台型公司实操手册》,包含报价公式、股权协议模板等实用工具,帮助技术人实现从手艺到生意的转型。

宋一平工作室 1081

计算机图形学(有效边表算法)用知识,改变命运的秘密【Morty深度干货】视频学习

1.你所身处的世界,其实并非是一个真实的世界 3、哪些知识,会真正影响到我们的人生 你要用大量的精力去学习对于你的人生能产生实际价值的领域的知识 历史 经济学 金融与投资 心理学 永远不要去相信人,而是要去相信人性 成长的路上,你需要避开的3个陷阱 1.永远不要沉迷碎片化的知识 2、谨慎播种你的精力种子 3、改变我们人生的,不单单是道理,还有方法 介绍一下计算机图形学中的补色原理

m0_62574889的博客 377

如何保证Redis与数据库的双写一致性?进阶加薪全靠它!

我有话要说,请仔细看完 我发现一个现象,很多开发5年的程序员仍然停留在crud的阶段,这是什么原因? 最主要的原因就是基础很差,尤其对于JVM和并发编程这方面掌握的比较差,而JVM和并发编程就是非常非常重要的基础了,作为一个Java开发人员如果你连JVM和并发编程掌握的很差,那你是无法写出高质量的代码的,直白说,你就只能做crud的工作,理想的工作和薪资跟你是无缘的,同时也很容易被行业淘汰! 现在大厂面试肯定是从基础开始发问,下面我也贴出了阿里招聘Java开发人员的要求,可以详细的看一下,下面几道是阿里面试

m0_57081562的博客 95

GitHub 标星 3.2w!史上最全技术面试手册!

本文转自量子位,作者安妮,编辑 GitHubDaily技术人员求职面试,单刷 LeetCode 上的大厂题库可能还不够。简历怎么写才能吸引 HR 的眼光,可能会被技术老大...

机器学习算法那些事 218

优快云日报191121:Python 中那些令人防不胜防的坑;Android直播开发之旅

优快云日报来啦!给大家奉上当日最新鲜的技术干货! Python 中那些令人防不胜防的坑 作者:Rocky0429 大家好,我是 Rocky0429,一个正在学习 Python 的蒟蒻… 在学习 Python 的过程中,我为它的简洁优雅而痴迷,但它又是如此的调皮,在提供了很多舒服的功能特性之外,又悄悄挖了很多带有迷惑性的坑,令人防不胜防… 人不能两次踏入同一条河流,在无数次踩进同样的坑里之后...

优快云 官方博客 4218

私活陷阱:程序员用技术换钱,为何越赚越穷

彼时他租住在北京郊区每月800元的隔断间,看着银行卡里不到五位数的存款,突然觉得"码农"这个身份不该只和996画等号。有次母亲生病住院,他一边盯着监护仪数据,一边修改客户指出的"按钮颜色不够醒目"。“结果在开发过程中,客户频繁提出"能不能加个语音识别功能”"能不能对接微信小程序"等要求,最终项目从预算2万膨胀到8万,尾款却拖了半年。作为某大厂架构师,他拒绝接私活的理由很简单:"我年薪百万,时间比钱值钱。他将团队研发的分布式数据库优化方案申请专利,通过技术入股的方式参与创业公司,三年间分红超过500万。

程序员笔记 1306

大厂Mysql高频面试题!java本地缓存和redis

一、架构筑基:深入内核、直击故障、拒绝蒙圈 大家都知道,性能一直是让程序员比较头疼的问题。当系统架构变得复杂而庞大之后,性能方面就会下降,如果想成为一名优秀的架构师,性能优化就是你必须思考的问题。 所以性能优化专题从JVM底层原理到内存优化再到各个中间件的性能调优,比如Tomcat调优,MySQL调优等,让你洞悉性能本质,全面认识性能优化,不再只是旁观者。 二、高性能架构 阿里巴巴有很多大团队,这种大团队里有很多小团队,到小团队之后,做的业务都不相同,如果想立足成为一线互联网公司中的万能选手,最主流的分布

imtokenmax众筹 208
上一篇: 用聚类算法计算股票的支撑位和阻力位
下一篇: 拒绝加班狗,PDF一行代码提取Excel文件
Wang_AI
博客等级 码龄12年 997粉丝 162原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值