一个古老而又广为人知的谚语说道:“正确第一,效率第二,如果答案错了,程序的速度就变得无关紧要了”。正确还是错误?
前段时间做了个C的项目,我一直负责算法的部分,说实话算法确实很烂,不过感觉程序的运行效率还算OK,也能满足用户体验的需求。
一直在自我安慰以及劝导同事"能跑,并且不出问题的代码才是好代码,至于你代码写的多漂亮已经不是重点了";
在一个没有严格代码审核的项目组,没人关注你代码写的多么的漂亮;他们只是关注你写的程序是否能跑,以及是否稳定。
还记得以前在外企工作的时候,都会有人审核你每天所提交的代码,还记得有一次修改大洋彼岸一位同事的代码,
当时他定义了两个变量做双重循环的参数,l1,l11,当时为了修复一个issue不得不添加一个循环,为了代码风格统一我就自己新加了一个参数 l111,
第二天米国那边发来邮件大意为“我很惊讶,既然能编译通过”。显然他将 l(L) 看成可 1 ,关于这个问题我只是像我当时的leader解释了一下,后续的解释工作也是他帮我完成的。
而今天,哪怕你将代码定义成 l1111111111,l111111111111111... 也不会有人管你。因为场景,环境都不一样了,
在外企的时候一个一年的项目在现在单位只需要两个月,最多再加三个月至半年的维护期,我承认这样的团队很有战斗力,我也承认现在的公司已经通过CMMI5了,很多人很迷信这一可笑的认证。
但是没有办法最求不一样,如果我们追求的是优秀的话,那么老外追求的是卓越。并非崇洋媚外,只是经验之谈。
老外的工作习惯是花跟多的时间将一件事情做好,注重工作流程;而我们是花少量的时间做好一件事,注重工作结果。
两种截然不同的工作风格目的却是一样的,就是将工作做好,达到预期的效果。
但是前者会让我们的工作生活很happy,不会那么累,enjoy工作的过程。而后者更加注重于效率往往一件工作没结束就开始新的任务,人会很累而没有激情。
与时俱进,因地适宜。不管怎么样的严格的审查机制,或者是多么懒散的管理制度。重要的是融入其中,适应当前的工作环境,形成自己的style尤其重要。
你觉得怎么做能够提高工作效率,其他的都不重要,什么软件工程,代码规范都是扯蛋。不是说他们没用,而是需要根据场景去定制一些东西,你的style就是你的规范。
至于文章的开头提出的问题,是我在《编程珠玑》中看到的,个人认为是正确的。
有两种代码我是不会就看的,一是,不能运行的,二是,不是我能力范围的。
分享到:
相关推荐
程序思考和学习.pdf 解压后为pdf格式文档 英文原版图书
《Java程序思考》第四版是一本深受欢迎的Java编程教程,其实践部分“PracticasPensandoJava”旨在帮助读者通过实际操作来理解和掌握Java编程语言的核心概念和技术。在这个压缩包“PracticasPensandoJava-master”中...
本教程结合了电子教案、实例源程序以及思考练习参考答案,旨在为初学者和有一定经验的开发者提供一个系统化的学习路径。 1. **Java基础知识**:Java是一种面向对象的编程语言,它的设计目标是具有平台无关性,通过...
思考题: 1. 记录程序处于初始执行程序状态时的存放器的值和单步执行过程中存放器的值,哪些存放器的值发生了变化?变化的原因是什么? 答:尚未执行时:存放器变化:AX、CX、DX原因是:执行了MOV指令 2. 存放器IP...
思考题: 1. 添加一个启动和停止按钮,程序该如何改动? 2. 试述使用定时器进行程序控制的方法? 3. 写出下面梯形图的指令表程序,并分析工作原理;画出 X0、Y0、Y1、Y2 的时序图。 知识点: 1. 可编程序控制器的...
课后习题答案,所有章节所有题目的答案都在里面
根据给定的信息,“现象级小程序背后的社交思考”这一主题探讨了小程序如何在社交领域发挥其独特的优势,并且通过具体的分析提供了对于小程序与社交之间关系的深入理解。 首先,标题中的“现象级小程序”指的是那些...
全面思考“小程序”.docx爆发前的宁静?全面思考“小程序”.docx爆发前的宁静?全面思考“小程序”.docx爆发前的宁静?全面思考“小程序”.docx爆发前的宁静?全面思考“小程序”.docx爆发前的宁静?全面思考“小...
该框架旨在通过结合“思考过程链”(Chain of Thought, CoT)和“程序思考路径”(Program of Thought, PoT)两种能力,来提升小型语言模型在推理任务上的表现。 #### 背景与动机 大型语言模型虽然在许多NLP任务上...
本课件选用的教材是谭浩强主编的《C语言程序设计》第三版,课件内容丰富、详细,突出难点、重点,每节课的课件内容配有相应的习题及思考题,老师们下载下来不用修改即可直接用于上课。同时每次上机课配有相应的实验...
思考题 1.串传送时采用串传送指令REP MOVSD,因此在使用该指令之前要设置什么? 答:MOV AX,DATAMOV DS,AXMOV ES,AXMOV CX,nCLDMOV SI,OFFSET STRING1MOV DI,OFFSET STRING2 2.传递参数还可以用什么方法?请修改...
解决问题的程序思考方式,更快编出健壮的代码。
《高级语言程序设计》课程是计算机科学的基础课程,主要涵盖了编程语言的基本概念、语法结构以及程序设计的基本方法。...这正是高级语言程序设计这门课程的目标所在,即培养出能够独立思考和解决问题的程序员。
实验目的包括分析和调试多个程序思考题,以及理解和运用静态成员数据、静态成员函数、常数据、常函数和常对象等核心概念。 在实验问题及解决方式部分,我们可以看到对不同代码行为的分析: 1. P103页的思考题涉及...
"设计思考程序 构建操作流程" 本文主要探讨研究性学习课题实施中的思考程序和操作流程指导。研究性学习作为高中新课程改革中新增设的一门学科,强调以学生的自主性、探索性学习为基础,主要指学生自己从学习和社会...
高职Java程序设计课程体系建设思考.pdf
该课程的教学通常结合理论讲授和上机实践,强调学生对程序设计重要性的认识,特别是通过学习传统的程序设计语言如C语言来为后续学习MATLAB打下基础。 文章中提到,数学软件如MATLAB是现代科学研究不可或缺的工具,...
Java程序设计慕课教学实践与思考.pdf
以学科竞赛促进高校《程序设计》课程教学改革的思考-6页word资料.docx以学科竞赛促进高校《程序设计》课程教学改革的思考-6页word资料.docx以学科竞赛促进高校《程序设计》课程教学改革的思考-6页word资料.docx以...
以学科竞赛促进高校《程序设计》课程教学改革的思考-6页word资料.pdf以学科竞赛促进高校《程序设计》课程教学改革的思考-6页word资料.pdf以学科竞赛促进高校《程序设计》课程教学改革的思考-6页word资料.pdf以学科...