優質的程序員需為代碼效率而嘔心瀝血

一個好的程序員必須要為自己寫出來的代碼執行效率負責。并非僅僅實現了功能代碼就完事了。很多工作一兩年的程序員都還僅是處于實現功能代碼為榮的階段,不會過多去思考如何提高代碼的執行效率。有的人認為是自己的能力就這樣,沒有多余的能力去思考這些額外的事情。其實,并非全都這樣,有的人逆向工程搞得很不錯,匯編也學習得有一定層次,可就是沒想過要提高執行效率。大多時候,都僅僅希望能夠實現出來就OK了。對于這一部分“牛人”只能說有點可惜。也確實不能完全歸咎責任到他們的身上,因為他們遇到的事情就要求實現出來而已。很多時候不會要求太高的執行效率。所以也就不會去細心琢磨執行效率的問題。
執行效率固然是必須要有所要求的,但是良好的代碼風格也必須考慮的。如果一份執行效率比較高的代碼出來了,而看得懂這份代碼的只有作者與CPU,那么也不能算是一份優質的代碼。在追求執行效率的同時也需要執著一點藝術水準。現在計算機的內存和CPU都是非常高端了,性能非常好。但是這個并不能成為寫一份爛代碼的借口。
有這樣的程序員,特別喜歡鍵盤上的這幾個按鍵:ctrl + A? ctrl + C ctrl+V 這幾個按鍵使用的頻率相當高,更換鍵盤的時候往往都是由于這幾個按鍵失靈了。在一個工程里,如果發現很多代碼片段,函數,甚至是類出現及其相似,或者就是多份拷貝,那么還不會注意思考的程序員,也注定只能那么一點點微薄的收入。一個習慣不管其好與壞都不是一天兩天能養成的。否則就應該很容易改掉壞習慣,只保留好習慣了。有相當一部分人在寫代碼的時候,一開始都會很自覺地復制粘貼,不會考慮歸檔分類。跟別說思考如何封裝代碼了。所以時間一久,這個不好的復制粘貼的習慣,就自然而然成了一個再習慣不過的習慣了。
如果工程里代碼重復得太多,而不進行代碼優化。一是讓代碼變得臃腫,不利于后期的維護。一是讓同樣的BUG重復多次,讓程序執行起來容易出現錯誤不穩定........

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/451660.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/451660.shtml
英文地址,請注明出處:http://en.pswp.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…