女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

怎樣從代碼風格中看出工程師的編程水平

工程師人生 ? 來源:網絡整理 ? 作者:工程師吳畏 ? 2018-09-13 10:51 ? 次閱讀

引語:代碼風格,是一個工程師長期以來養成的一些編寫代碼的習慣,其實并無絕對的好壞之分!但是,基本上可以這么說,一個有很好的代碼風格的人,技術水平絕不會太低;反之,一個沒有好的代碼風格的人,技術水平也不會高到哪里去,即使是他已經有很多年的編程經驗!因為,在業界有一個不成文的現象,那就是每個工程師都有一個追求技術提升,追求完美的夢!結果就是,隨著個人技術水平的提高,風格也越來越成熟,而這個風格就體現著其個人水平!

本文以PHP語言的某微視角,說幾個代碼風格上的事,同理可推至其他語言,其他技術,甚至其他通用道理!

本文將以從面到線再到點的過程,講述一些個人心得。僅供大家娛樂參考,如有不對,請多多指教。如有雷同,不勝榮幸!

本文就以一個虛擬項目作為線索吧!

1、面:所謂面,就是面對一個項目擺在眼前,怎樣去部署大方向的問題的思路!準確的說,這里并不是真正地體現一個代碼風格,而是一個做事風格!

風格1:1. 我需要需求書,書上怎么寫,我就怎么做;2. 如果有一些未知的技術,盡量讓需求上做一些讓步,以減少開發難度;3. 找個牛逼的人,帶著自己或其他人一起做;4. 時間是多久?

風格2:1. 我需要需求書,書上寫的東西,清楚嗎?有什么可要可不要的東西,有副作用嗎?2. 大概需要什么樣的輔助工具,在哪里可能會得到這些東西?3. 我怎樣組建自己的技術團隊?4. 時間是多久?5. 后期可能會有什么樣的擴展?

2、線:所謂線,可以理解為流水線吧。就是怎樣去完成這么一個計劃,怎樣調動生產?

風格1:1. 設計數據庫; 2. 選擇代碼框架;3. 編碼;

風格2:1. 設計服務架構;2. 模塊細化;3. 設計數據庫; 4. 選擇代碼框架;5. 編碼;

3、 點:所謂點,其實才這里說的真正的代碼風格,將著重說明一些。

風格1:任性,隨意而為,沒有規則!

風格2:著重講解!

3.1. 不一定非要使用現有成熟框架,但是一定要有MVC的概念,基本要拋棄面向過程編程方式,采用面向對象,不任性;

3.2. 結合多種設計模式進行開發,如單例模式、工廠模式、抽象模式、觀察者模式等等,這些都是成熟的概念,都要盡量多用!優雅,大氣,效率,易讀;

3.3. 類內部變量定義以權限放第一位,變量修飾符放第二位,以重要程度分先后,如 public static function fun1(){} ;類名與文件名有某種特定程度的相同,方便查看;類名統一首字母大寫;私有變量或方法使用下劃線開頭以區分,如 private function _doCut($data);文件以最能體現其功能的單詞命名,區分類型,如 IndexController.class.php, function.inc.php;

3.4. 文件內部使用統一命名方式,要么使用下劃線方式命名,如 $get_child,$bind_value,要么使用駝峰式命名,如 $getChild,$bindValue;變量名盡量使用全名不要使用簡寫,如 getCategory不要簡寫成getCat;

3.5. 多個參數之間有逗號分隔時,逗號后要留一個空格如 fun($param1, $param2);運算符兩邊均有一個空格(數組對齊除外),如 $click = 123;

3.6. 避免使用global變量,尤其是有些不是公共初始化時產生的變量;

3.7. 杜絕函數內部include方法文件,因為這樣很難找到真正起作用的方法,或者說方法混亂;

3.8. 使用自動加載方式,而非include方式;

3.9. 如果一定要包含文件,盡量使用include_once,require_once 避免一個文件被引入多次從而報錯情況;

3.10. 對可能多次引用的全局變量,使用某類的靜態方法進行獲取,如 ConfigClass::get(‘main’, ‘field’); 對于數據庫一類連接,使用靜態變量,保存首次連接時打開的連接,從而多處使用DB實例時,仍然不會重復實例化,如 $db = ConfigClass::getDbInstance();

3.11. 多使用isset(), empty()等系統函數進行判斷空操作而非 !$var, $var == null;

3.12. 對于使用兩次以上方法,就應該去考慮提出到公用地方或者類中;

3.13. 數據查詢先確認當前索引,配合寫SQL,特別地方,一定加上注釋;

3.14. 會使用文件鎖,數據庫鎖,會使用緩存如 memcache, redis, mongodb等;

3.15. 會適當使用事務;

。..

好吧,晚了,洗洗睡吧。有空再補補。總之,一些小細節,總是要用經驗堆砌才會真的明白!

其實,好與不好,大家已早有定論,只是作個參考,罷了!

習慣,就好!

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 工程師
    +關注

    關注

    59

    文章

    1589

    瀏覽量

    69252
  • 編程
    +關注

    關注

    88

    文章

    3685

    瀏覽量

    94917
  • 代碼
    +關注

    關注

    30

    文章

    4891

    瀏覽量

    70306
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    (仰天長嘯)為什么受傷的總是硬件工程師...#MDD#MDD辰達半導體 #電子工程師

    電子工程師
    MDD辰達半導體
    發布于 :2025年04月27日 18:21:47

    問,成為硬件工程師需要幾只手?#硬件工程師 #YXC晶振 #揚興科技 #搞笑

    硬件工程師
    揚興科技
    發布于 :2025年04月25日 17:15:37

    硬件工程師:回答我!#回答我 #硬件工程師 #YXC晶振 #揚興科技

    硬件工程師
    揚興科技
    發布于 :2025年03月25日 18:46:59

    一招拿捏電子工程師#被AI拿捏了 #電子工程師 #電子電工

    電子工程師
    安泰小課堂
    發布于 :2025年03月25日 17:30:51

    嵌入式軟件工程師就業好不好?

    嵌入式軟件工程師就業好不好?會不會越老越吃香?今天一起來看看。 首先看下市場需求。 隨著物聯網、人工智能、5G等前沿技術的快速發展,嵌入式系統的應用領域不斷擴大,智能家居、汽車電子到工業自動化
    發表于 02-20 10:19

    嵌入式工程師常用的開發工具有哪些?

    。 一、集成開發環境(IDE) IDE是嵌入式開發的核心工具之一。例如 Keil MDK,它支持多種微控制器架構,提供了強大的代碼編輯、編譯、調試功能。工程師可以在一個集成的環境中高效地編寫代碼、進行
    發表于 12-20 15:29

    Keysight助力提升工程師的測試測量知識水平

    Keysight為您解鎖測試測量領域的最新知識,助力工程師在快速變化的科技環境中保持競爭力。
    的頭像 發表于 10-16 09:28 ?769次閱讀

    陶建輝榮獲 2024 年“中國計算機學會(CCF)杰出工程師獎”

    近日,中國計算機學會(CCF)正式公布了 2024 年“CCF 杰出工程師獎”獲獎名單,其中,濤思數據(TDengine)創始人陶建輝憑借其在開源領域和時序數據庫領域的卓越貢獻,榮獲此項殊榮。這一
    的頭像 發表于 09-29 15:37 ?540次閱讀
    陶建輝榮獲 2024 年“中國計算機學會(CCF)杰<b class='flag-5'>出工程師</b>獎”

    FPGA算法工程師、邏輯工程師、原型驗證工程師有什么區別?

    的設計和實現。他們使用硬件描述語言(如 Verilog 或 VHDL)來編寫代碼,構建復雜的數字邏輯系統。工作包括模塊的設計、功能的實現、時序的優化以及與其他硬件組件的接口設計等。 FPGA 原型驗證工程師
    發表于 09-23 18:26

    正是拼的年紀|65歲電子工程師上班VLOG #65歲退休 #電子工程師 #搞笑 #上班vlog

    電子工程師
    安泰小課堂
    發布于 :2024年07月25日 11:31:02