哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

從編寫代碼習(xí)慣談工程師風(fēng)格

工程師人生 ? 來源:博客園 ? 作者:等你歸去來 ? 2021-01-15 10:11 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

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

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

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

風(fēng)格1:1. 設(shè)計數(shù)據(jù)庫; 2. 選擇代碼框架;3. 編碼;

風(fēng)格2:1. 設(shè)計服務(wù)架構(gòu);2. 模塊細化;3. 設(shè)計數(shù)據(jù)庫; 4. 選擇代碼框架;5. 編碼;

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

風(fēng)格1:任性,隨意而為,沒有規(guī)則!

風(fēng)格2:著重講解!

3.1. 不一定非要使用現(xiàn)有成熟框架,但是一定要有MVC的概念,基本要拋棄面向過程編程方式,采用面向?qū)ο?,不任性?/p>

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

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

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

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

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

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

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

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

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

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

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

3.13. 數(shù)據(jù)查詢先確認(rèn)當(dāng)前索引,配合寫SQL,特別地方,一定加上注釋;

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

3.15. 會適當(dāng)使用事務(wù);

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

習(xí)慣,就好!

不要害怕今日的苦,你要相信明天,更苦!
編輯:hfy

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 工程師
    +關(guān)注

    關(guān)注

    59

    文章

    1603

    瀏覽量

    71221
  • PHP
    PHP
    +關(guān)注

    關(guān)注

    0

    文章

    463

    瀏覽量

    28806
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    MC56F8013+BLDC 啟動需外力撥動 求資深工程師解決 有償 可遠程

    短暫堵轉(zhuǎn)滋滋響,改回原工程、重新燒錄后,電機完全沒有扭矩,無力不出力; 設(shè)備現(xiàn)狀:電池電壓16V正常,電機完全不發(fā)熱,。 尋求真正懂 56F8013底層、BLDC有感啟動、驅(qū)動保護鎖止的資深工程師,支持遠程協(xié)助、查代碼、調(diào)參數(shù)、
    發(fā)表于 04-26 01:07

    人工智能-Python深度學(xué)習(xí)進階與應(yīng)用技術(shù):工程師高培解讀

    深度學(xué)習(xí)的工程化落地,早已不是紙上兵的事。卷積神經(jīng)網(wǎng)絡(luò)到Transformer,目標(biāo)檢測到大模型私有化部署,技術(shù)棧不斷延伸,工程師面臨
    的頭像 發(fā)表于 04-21 11:01 ?319次閱讀
    人工智能-Python深度學(xué)習(xí)進階與應(yīng)用技術(shù):<b class='flag-5'>工程師</b>高培解讀

    電子工程師的雙標(biāo)瞬間 #電子 #電子愛好者 #電子工程師 #揚興科技 #雙標(biāo)

    電子工程師
    揚興科技
    發(fā)布于 :2026年03月02日 18:04:13

    Linux內(nèi)核編碼風(fēng)格權(quán)威總結(jié):縮進到底層設(shè)計,讓你的代碼更“內(nèi)核味”

    作為全球最龐大的開源項目之一,Linux 內(nèi)核的代碼量早已突破千萬行。要讓來自世界各地的開發(fā)者高效協(xié)作,一套統(tǒng)一、嚴(yán)謹(jǐn)?shù)木幋a風(fēng)格必不可少 —— 這不僅是 “代碼顏值” 的要求,更是可讀性、可維護性的核心保障。
    的頭像 發(fā)表于 02-09 16:29 ?295次閱讀
    Linux內(nèi)核編碼<b class='flag-5'>風(fēng)格</b>權(quán)威總結(jié):<b class='flag-5'>從</b>縮進到底層設(shè)計,讓你的<b class='flag-5'>代碼</b>更“內(nèi)核味”

    什么是BSP工程師

    。其中使板子正常穩(wěn)定的工作的代碼就屬于板級支持包。 那么BSP工程師的具體工作有哪些呢? 我們首先從嵌入式設(shè)備談起,前面我們談到了很多的嵌入式設(shè)備,系統(tǒng)角度來講這些設(shè)備有些是跑操作系統(tǒng)的,有些沒有跑
    發(fā)表于 01-13 06:54

    【「開關(guān)電源控制環(huán)路設(shè)計:Christophe Basso 的實戰(zhàn)秘籍」閱讀體驗】攻克穩(wěn)定性難題:理論迷宮到工程實踐的躍遷之路

    本帖最后由 jf_72246558 于 2025-8-20 15:34 編輯 電源工程師的日常困境常在于:面對環(huán)路穩(wěn)定性設(shè)計時,理論公式堆砌如山,卻難覓落地路徑。Christophe
    發(fā)表于 08-19 10:31

    嵌入式工程師為什么要學(xué)QT?

    受限的環(huán)境。 Qt的實現(xiàn)主要是采用p-impl手法,實現(xiàn)接口與實現(xiàn)分離,它有很好的消息循環(huán)機制,有助于在資源受限的嵌入式設(shè)備上運行。 提升代碼質(zhì)量 Qt的設(shè)計理念和架構(gòu)可以幫助嵌入式工程師編寫更加
    發(fā)表于 08-14 15:15

    開發(fā)工程師視角看TTS語音合成芯片

    開發(fā)工程師視角看TTS語音合成芯片 在語音交互領(lǐng)域,TTS 語音合成芯片作為關(guān)鍵角色,正不斷革新著人機對話的體驗。開發(fā)工程師角度深入剖析,TTS 語音合成芯片與傳統(tǒng)播報芯片相比,猶
    的頭像 發(fā)表于 08-13 14:52 ?960次閱讀

    一技在手,醫(yī)療無憂!零基礎(chǔ)轉(zhuǎn)行高薪醫(yī)療維修工程師

    做過家電維修,電器自動化方面,就想著看多學(xué)個技術(shù)完了看看能不能做醫(yī)院的維修,培訓(xùn)都有什么課程?這個學(xué)多久?怎么收費?兩個月學(xué)的會嗎?學(xué)完有什么證書?學(xué)完能否接醫(yī)院的活?彩虹講課老師本身就是現(xiàn)場維修工程師
    發(fā)表于 05-15 10:22
    临汾市| 邵东县| 炎陵县| 册亨县| 鲁甸县| 隆回县| 大安市| 外汇| 安康市| 永寿县| 醴陵市| 昆山市| 杂多县| 和平县| 额尔古纳市| 新乡县| 永和县| 蒲江县| 太湖县| 华池县| 泸溪县| 塘沽区| 双流县| 牙克石市| 安多县| 北安市| 三亚市| 准格尔旗| 屯昌县| 伊通| 崇义县| 巫溪县| 朔州市| 丰城市| 德昌县| 平谷区| 万载县| 桂林市| 同心县| 敖汉旗| 当涂县|