优质的程序员需为代码效率而呕心沥血

一个好的程序员必须要为自己写出来的代码执行效率负责。并非仅仅实现了功能代码就完事了。很多工作一两年的程序员都还仅是处于实现功能代码为荣的阶段,不会过多去思考如何提高代码的执行效率。有的人认为是自己的能力就这样,没有多余的能力去思考这些额外的事情。其实,并非全都这样,有的人逆向工程搞得很不错,汇编也学习得有一定层次,可就是没想过要提高执行效率。大多时候,都仅仅希望能够实现出来就OK了。对于这一部分“牛人”只能说有点可惜。也确实不能完全归咎责任到他们的身上,因为他们遇到的事情就要求实现出来而已。很多时候不会要求太高的执行效率。所以也就不会去细心琢磨执行效率的问题。
执行效率固然是必须要有所要求的,但是良好的代码风格也必须考虑的。如果一份执行效率比较高的代码出来了,而看得懂这份代码的只有作者与CPU,那么也不能算是一份优质的代码。在追求执行效率的同时也需要执着一点艺术水准。现在计算机的内存和CPU都是非常高端了,性能非常好。但是这个并不能成为写一份烂代码的借口。
有这样的程序员,特别喜欢键盘上的这几个按键:ctrl + A  ctrl + C ctrl+V 这几个按键使用的频率相当高,更换键盘的时候往往都是由于这几个按键失灵了。在一个工程里,如果发现很多代码片段,函数,甚至是类出现及其相似,或者就是多份拷贝,那么还不会注意思考的程序员,也注定只能那么一点点微薄的收入。一个习惯不管其好与坏都不是一天两天能养成的。否则就应该很容易改掉坏习惯,只保留好习惯了。有相当一部分人在写代码的时候,一开始都会很自觉地复制粘贴,不会考虑归档分类。跟别说思考如何封装代码了。所以时间一久,这个不好的复制粘贴的习惯,就自然而然成了一个再习惯不过的习惯了。
如果工程里代码重复得太多,而不进行代码优化。一是让代码变得臃肿,不利于后期的维护。一是让同样的BUG重复多次,让程序执行起来容易出现错误不稳定........

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/451660.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用gson得JSON,数值变为double类型 ,去掉double值中的小数位(3.0改为3)

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 1. 项目中有个接口的数据是从缓存中读取再组成JSON 格式返出,原本缓存中数据是这样的: 用Gson 组成JSON 后&…

Python中的join()函数的用法

函数:string.join()Python中有join()和os.path.join()两个函数,具体作用如下: join(): 连接字符串数组。将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串 os.path.join(): 将多个路…

利用微软的平台进行Office文档的在线查看

微软的预览Office服务:1.在线查看:http://view.officeapps.live.com/op/view.aspx?src文档地址 文档地址用URLEncode进行处理的链接地址。 2.部署自己的Office预览服务:需要安装Office Web Apps服务(系统要求为Windows Server 20…

38--合并两个排序的链表

1.问题描述 输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。 实例: 输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4 2.解决思路 /*** Definition for singly-linked lis…

oracle中使用sql查询时字段为空则赋值默认

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 oracle 通过 nvl( )函数sql 查询时为 空值 赋默认值 oracle 函数介绍之nvl 函数声明:nvl(col,val) 说明:当col为…

BZOJ3040:最短路——题解

https://www.lydsy.com/JudgeOnline/problem.php?id3040 题意rt&#xff0c;使用pb_ds的堆解决本问题。 所以其实就是mark一下的。 不过有人确认过官方不能使用“using namespace __gnu_pbds;” #include<cmath> #include<queue> #include<cstdio> #include…

39--打印从1到最大的n位数

1.题目描述 输入数字 n&#xff0c;按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3&#xff0c;则打印出 1、2、3 一直到最大的 3 位数 999。 示例 1: 输入: n 1 输出: [1,2,3,4,5,6,7,8,9] 2.解题思路 class Solution {public int[] printNumbers(int n) {int end …

六.dbms_session(提供了使用PL/SQL实现ALTER SESSION命令)

1、概述 作用:提供了使用PL/SQL实现ALTER SESSION命令,SET ROLE命令和其他会话信息的方法 .2、包的组成 1&#xff09;、set_identifier说明&#xff1a;用于设置会话的客户ID号。语法&#xff1a;dbms_session.set_identifier(client_id varchar2);其中client_id指定当前会话的…

多线程官方教程

多线程编程指南Sun Microsystems, Inc.4150 Network CircleSanta Clara, CA95054U.S.A.文件号码819–7051–102006 年10 月版权所有2005 Sun Microsystems, Inc. 4150 Network Circle, Santa Clara, CA95054 U.S.A. 保留所有权利。本文档及其相关产品的使用、复制、分发和反编译…

iOS面试题(三)

1、Objective-C 中创建线程的方法是什么&#xff1f;如果在主线程中执行代码&#xff0c;方法是什么&#xff1f;如果想延时执行代码、方法又是什么&#xff1f; 线程创建有三种方法&#xff1a;使用NSThread创建、使用GCD的dispatch、使用子类化的NSOperation,然后将其加入NSO…

Oracle中修改遇到“ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效”

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 Oracle 11g中想修改表名&#xff1a; rename ASSETPORJECT to ASSETPROJECT; 结果提示&#xff1a;ORA-00054: 资源正忙, 但指定以 NOWA…

NWCD

1.java jdk和jre 求和算法 时间复杂度和空间复杂度 restful风格 微服务 maven中央仓库 项目依赖jar包&#xff0c;换平台运行 同步和异步 设计模式–代理模式 2.linux 僵尸进程和孤儿进程 如何消除僵尸进程 僵尸进程能被kill调吗 磁盘性能分析iostat top free fdisk swap中a…

解决设置了background-size: cover; 但是图片在ios下显示不完整的问题

设置 background-size: 100% 99.9%&#xff1b; 转载于:https://www.cnblogs.com/kugeliu/p/9469207.html

Python学习之路20-数据模型

《流畅的Python》笔记。本篇是Python进阶篇的开始。本篇主要是对Python特殊方法的概述。1. 前言 数据模型其实是对Python框架的描述&#xff0c;它规范了这门语言自身构件模块的接口&#xff0c;这些模块包括但不限于序列、迭代器、函数、类和上下文管理器。不管在哪种框架下写…

String s1==s2面试题

这个程序运行的结果是什么&#xff1f;class StringTest1{public static void main(String[] args) {String s1"equal";String s2 "equal";if(s1s2){System.out.println("s1s2");}else{ System.out.println("s1!s2");} }} 输出 s1…

Vector:动态数组的使用和说明

摘自百度百科&#xff1a; 1. Vector 类在 java 中可以实现自动增长的对象数组; 创建了一个向量类的对象后&#xff0c;可以往其中随意地插入不同的类的对象&#xff0c;既不需顾及类型也不需预先选定向量的容量&#xff0c;并可方便地进行查找。对于预先不知或不愿预先定义数组…

Spring AOP 代理模式

记录几篇关于AOP & 代理模式 的博客&#xff0c;写的非常好&#xff0c;感谢作者分享&#xff01; Java中的代理模式——静态代理以及分析静态代理的缺点 Java中动态代理的两种方式JDK动态代理和cglib动态代理以及区别 Spring中的AOP以及切入点表达式和各种通知 Spring…