




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
硬件開發流程及規范第一章概述第一節硬件開發過程簡介§1.1.1硬件開發的基本過程硬件開發的基本過程:1.明確硬件總體需求情況,如CPU處理能力、存儲容量及速度,I/O端口的分配、接口要求、電平要求、特殊電路(厚膜等)要求等等。2.根據需求分析制定硬件總體方案,尋求關鍵器件及電咱的技術資料、技術途徑、技術支持,要比較充分地考慮技術可能性、可靠性以及成本控制,并對開發調試工具提出明確的要求。關鍵器件索取樣品。3.總體方案確定后,作硬件和單板軟件的詳細設計,包括繪制硬件原理圖、單板軟件功能框圖及編碼、PCB布線,同時完成發物料清單。4.領回PCB板及物料后由焊工焊好1~2塊單板,作單板調試,對原理設計中的各功能進行調測,必要時修改原理圖并作記錄。5.軟硬件系統聯調,一般的單板需硬件人員、單板軟件人員的配合,特殊的單板(如主機板)需比較大型軟件的開發,參與聯調的軟件人員更多。一般地,經過單板調試后在原理及PCB布線方面有些調整,需第二次投板。6.內部驗收及轉中試,硬件項目完成開發過程。§1.1.2硬件開發的規范化硬件開發的基本過程應遵循硬件開發流程規范文件執行,不僅如此,硬件開發涉及到技術的應用、器件的選擇等,必須遵照相應的規范化措施才能達到質量保障的要求。這主要表現在,技術的采用要經過總體組的評審,器件和廠家的選擇要參照物料認證部的相關文件,開發過程完成相應的規定文檔,另外,常用的硬件電路(如ID.WDT)要采用通用的標準設計。第二節硬件工程師職責與基本技能§1.2.1硬件工程師職責一個技術領先、運行可靠的硬件平臺是公司產品質量的基礎,硬件工程師職責神圣,責任重大。1、硬件工程師應勇于嘗試新的先進技術,在產品硬件設計中大膽創新。2、堅持采用開放式的硬件架構,把握硬件技術的主流和未來發展,在設計中考慮將來的技術升級。3、充分利用公司現有的成熟技術,保持產品技術上的繼承性。4、在設計中考慮成本,控制產品的性能價格比達至最優。5、技術開放,資源共享,促進公司整體的技術提升。§1.2.1硬件工程師基本素質與技術硬件工程師應掌握如下基本技能:1、由需求分析至總體方案、詳細設計的設計創造能力;2、熟練運用設計工具,設計原理圖、EPLD、FPGA調試程序的能力;3、運用仿真設備、示波器、邏輯分析儀調測硬件的能力;4、掌握常用的標準電路的設計能力,如ID電路、WDT電路、π型濾波電路、高速信號傳輸線的匹配電路等;5、故障定位、解決問題的能力;6、文檔的寫作技能;7、接觸供應商、保守公司機密的技能。第二章硬件開發規范化管理第一節硬件開發流程§3.1.1硬件開發流程文件介紹硬件開發的規范化是一項重要內容。硬件開發規范化管理是在公司的《硬件開發流程》及相關的《硬件開發文檔規范》、《PCB投板流程》等文件中規劃的。硬件開發流程是指導硬件工程師按規范化方式進行開發的準則,規范了硬件開發的全過程。硬件開發流程制定的目的是規范硬件開發過程控制,硬件開發質量,確保硬件開發能按預定目的完成。硬件開發流程不但規范化了硬件開發的全過程,同時也從總體上,規定了硬件開發所應完成的任務。做為一名硬件工程師深刻領會硬件開發流程中各項內容,在日常工作中自覺按流程辦事,是非常重要的。所有硬件工程師應把學流程、按流程辦事、發展完善流程、監督流程的執行作為自己的一項職責,為公司的管理規范化做出的貢獻。§3.2.2硬件開發流程詳解硬件開發流程對硬件開發的全過程進行了科學分解,規范了硬件開發的五大任務。硬件需求分析硬件系統設計硬件開發及過程控制系統聯調文檔歸檔及驗收申請。1.硬件需求分析項目組接到任務后,首先要做的硬件開發工作就是要進行硬件需求分析,撰寫硬件需求規格說明書。硬件需求分析在整個產品開發過程中是非常重要的一環,硬件工程師更應對這一項內容加以重視。一項產品的性能往往是由軟件和硬件共同完成的,哪些是由硬件完成,哪些是由軟件完成,項目組必須在需求時加以細致考慮。硬件需求分析主要有下列內容:系統工程組網及使用說明基本配置及其互連方法運行環境硬件系統的基本功能和主要性能指標功能模塊的劃分關鍵技術的攻關外購硬件的名稱型號、生產單位、主要技術指標主要儀器設備可靠性、穩定性、電磁兼容討論電源、工藝結構設計硬件測試方案2.硬件總體設計硬件總體設計的主要任務就是從總體上進一步劃分各單板的功能以及硬件的總體結構描述,規定各單板間的接口及有關的技術指標。硬件總體設計主要有下列內容:系統功能及功能指標系統總體結構圖及功能劃分單板命名系統邏輯框圖組成系統各功能塊的邏輯框圖,電路結構圖及單板組成單板邏輯框圖和電路結構圖關鍵技術討論關鍵器件從上可見,硬件開發總體方案把整個系統進一步具體化。硬件開發總體設計是最重要的環節之一。總體設計不好,可能出現致命的問題,造成的損失有許多是無法挽回的。3.硬件開發及過程控制。一個好的產品,特別是大型復雜產品,總體方案進行反復論證是不可缺少的。只有經過多次反復論證的方案,才可能成為好方案。總體審查包括兩部分,一是對有關文檔的格式,內容的科學性,描述的準確性以及詳簡情況進行審查。再就是對總體設計中技術合理性、可行性等進行審查。如果評審不能通過,項目組必須對自己的方案重新進行修訂。硬件總體設計方案通過后,即可著手關鍵器件的申購,主要工作由項目組來完成。關鍵器件落實后,即要進行結構電源設計、單板總體設計。單板總體設計需要項目與CAD配合完成。單板總體設計過程中,對電路板的布局、走線的速率、線間干擾以及EMI等的設計應與CAD室合作。CAD室可利用相應分析軟件進行輔助分析。單板總體設計完成后,出單板總體設計方案書。總體設計主要包括下列內容:單板在整機中的的位置:單板功能描述單板尺寸單板邏輯圖及各功能模塊說明單板軟件功能描述單板軟件功能模塊劃分接口定義及與相關板的關系重要性能指標、功耗及采用標準開發用儀器儀表等每個單板都要有總體設計方案,且要經過總體辦和管理辦的聯系評審。否則要重新設計。只有單板總體方案通過后,才可以進行單板詳細設計。單板詳細設計包括兩大部分:單板軟件詳細設計單板硬件詳細設計單板軟、硬件詳細設計,要遵守公司的硬件設計技術規范,必須對物料選用,以及成本控制等上加以注意。不同的單板,硬件詳細設計差別很大。但應包括下列部分:單板整體功能的準確描述和模塊的精心劃分。接口的詳細設計。關鍵元器件的功能描述及評審,元器件的選擇。符合規范的原理圖及PCB圖。對PCB板的測試及調試計劃。單板詳細設計要撰寫單板詳細設計報告。詳細設計報告必須經過審核通過。單板軟件的詳細設計報告由管理辦組織審查,而單板硬件的詳細設計報告,則要由總體辦、管理辦、CAD室聯合進行審查,如果審查通過,方可進行PCB板設計,如果通不過,則返回硬件需求分析處,重新進行整個過程。這樣做的目的在于讓項目組重新審查一下,某個單板詳細設計通不過,是否會引起項目整體設計的改動。如單板詳細設計報告通過,項目組一邊要與計劃處配合準備單板物料申購,一方面進行PCB板設計。PCB板設計需要項目組與CAD室配合進行,PCB原理圖是由項目組完成的,而PCB畫板和投板的管理工作都由CAD室完成。PCB投板有專門的PCB樣板流程。PCB板設計完成后,就要進行單板硬件過程調試,調試過程中要注意多記錄、總結,勤于整理,寫出單板硬件過程調試文檔。當單板調試完成,項目組要把單板放到相應環境進行單板硬件測試,并撰寫硬件測試文檔。如果PCB測試不通過,要重新投板,則要由項目組、管理辦、總體辦、CAD室聯合決定。4.系統聯調在結構電源,單板軟硬件都已完成開發后,就可以進行聯調,撰寫系統聯調報告。聯調是整機性能提高,穩定的重要環節,認真周到的聯調可以發現各單板以及整體設計的不足,也是驗證設計目的是否達到的唯一方法。因此,聯調必須預先撰寫聯調計劃,并對整個聯調過程進行詳細記錄。只有對各種可能的環節驗證到才能保證機器走向市場后工作的可靠性和穩定性。聯調后,必須經總體辦和管理辦,對聯調結果進行評審,看是不是符合設計要求。如果不符合設計要求將要返回去進行優化設計。如果聯調通過,項目要進行文件歸檔,把應該歸檔的文件準備好,經總體辦、管理辦評審,如果通過,才可進行驗收。總之,硬件開發流程是硬件工程師規范日常開發工作的重要依據,全體硬件工程師必須認真學習。第二節硬件開發文檔規范§2.2.1硬件開發文檔規范文件介紹為規范硬件開發過程中文檔的編寫,明確文檔的格式和內容,規定硬件開發過程中所需文檔清單,與《硬件開發流程》對應制定了《硬件開發文檔編制規范》。開發人員在寫文檔時往往會漏掉一些該寫的內容,編制規范在開發人員寫文檔時也有一定的提示作用。規范中共列出以下文檔的規范:硬件需求說明書硬件總體設計報告單板總體設計方案單板硬件詳細設計單板軟件詳細設計單板硬件過程調試文檔單板軟件過程調試文檔單板系統聯調報告單板硬件測試文檔硬件信息庫 這些規范的具體內容可在HUAWEI服務器中資料庫中找到,對應每個文檔規范都有相應的模板可供開發人員在寫文檔時“填空”使用。§2.2.2硬件開發文檔編制規范詳解1、硬件需求說明書硬件需求說明書是描寫硬件開發目標,基本功能、基本配置,主要性能指標、運行環境,約束條件以及開發經費和進度等要求,它的要求依據是產品規格說明書和系統需求說明書。它是硬件總體設計和制訂硬件開發計劃的依據,具體編寫的內容有:硬件整體系統的基本功能和主要性能指標、硬件分系統的基本功能和主要性能指標以及功能模塊的劃分等。2、硬件總體設計報告硬件總體設計報告是根據需求說明書的要求進行總體設計后出的報告,它是硬件詳細設計的依據。編寫硬件總體設計報告應包含以下內容:系統總體結構及功能劃分,系統邏輯框圖、組成系統各功能模塊的邏輯框圖,電路結構圖及單板組成,單板邏輯框圖和電路結構圖,以及可靠性、安全性、電磁兼容性討論和硬件測試方案等。3、單板總體設計方案在單板的總體設計方案定下來之后應出這份文檔,單板總體設計方案應包含單板版本號,單板在整機中的位置、開發目的及主要功能,單板功能描述、單板邏輯框圖及各功能模塊說明,單板軟件功能描述及功能模塊劃分、接口簡單定義與相關板的關系,主要性能指標、功耗和采用標準。4、單板硬件詳細設計在單板硬件進入到詳細設計階段,應提交單板硬件詳細設計報告。在單板硬件詳細設計中應著重體現:單板邏輯框圖及各功能模塊詳細說明,各功能模塊實現方式、地址分配、控制方式、接口方式、存貯器空間、中斷方式、接口管腳信號詳細定義、時序說明、性能指標、指示燈說明、外接線定義、可編程器件圖、功能模塊說明、原理圖、詳細物料清單以及單板測試、調試計劃。有時候一塊單板的硬件和軟件分別由兩個開發人員開發,因此這時候單板硬件詳細設計便為軟件設計者提供了一個詳細的指導,因此單板硬件詳細設計報告至關重要。尤其是地址分配、控制方式、接口方式、中斷方式是編制單板軟件的基礎,一定要詳細寫出。5、單板軟件詳細設計在單板軟件設計完成后應相應完成單板軟件詳細設計報告,在報告中應列出完成單板軟件的編程語言,編譯器的調試環境,硬件描述與功能要求及數據結構等。要特別強調的是:要詳細列出詳細的設計細節,其中包括中斷、主程序、子程序的功能、入口參數、出口參數、局部變量、函數調用和流程圖。在有關通訊協議的描述中,應說明物理層,鏈路層通訊協議和高層通訊協議由哪些文檔定義。6、單板硬件過程調試文檔開發過程中,每次所投PCB板,工程師應提交一份過程文檔,以便管理階層了解進度,進行考評,另外也給其他相關工程師留下一份有參考價值的技術文檔。每次所投PCB板時應制作此文檔。這份文檔應包括以下內容:單板硬件功能模塊劃分,單板硬件各模塊調試進度,調試中出現的問題及解決方法,原始數據記錄、系統方案修改說明、單板方案修改說明、器件改換說明、原理圖、PCB圖修改說明、可編程器件修改說明、調試工作階段總結、調試進展說明、下階段調試計劃以及測試方案的修改。7、單板軟件過程調試文檔每月收集一次單板軟件過程調試文檔,或調試完畢(指不滿一月)收集,盡可能清楚,完整列出軟件調試修改過程。單板軟件過程調試文檔應當包括以下內容:單板軟件功能模塊劃分及各功能模塊調試進度、單板軟件調試出現問題及解決、下階段的調試計劃、測試方案修改。8、單板系統聯調報告在項目進入單板系統聯調階段,應出單板系統聯調報告。單板系統聯調報告包括這些內容:系統功能模塊劃分、系統功能模塊調試進展、系統接口信號的測試原始記錄及分析、系統聯調中出現問題及解決、調試技巧集錦、整機性能評估等。9、單板硬件測試文檔在單板調試完之后,申請內部驗收之前,應先進行自測以確保每個功能都能實現,每項指標都能滿足。自測完畢應出單板硬件測試文檔,單板硬件測試文檔包括以下內容:單板功能模塊劃分、各功能模塊設計輸入輸出信號及性能參數、各功能模塊測試點確定、各測試參考點實測原始記錄及分析、板內高速信號線測試原始記錄及分析、系統I/O口信號線測試原始記錄及分析,整板性能測試結果分析。10、硬件信息庫為了共享技術資料,我們希望建立一個共享資料庫,每一塊單板都希望將的最有價值最有特色的資料歸入此庫。硬件信息庫包括以下內容:典型應用電路、特色電路、特色芯片技術介紹、特色芯片的使用說明、驅動程序的流程圖、源程序、相關硬件電路說明、PCB布板注意事項、單板調試中出現的典型及解決、軟硬件設計及調試技巧。第三節與硬件開發相關的流程文件介紹與硬件開發相關的流程主要有下列幾個:項目立項流程項目實施管理流程軟件開發流程系統測試工作流程中試接口流程內部接收流程§3.3.1項目立項流程:是為了加強立項管理及立項的科學性而制定的。其中包括立項的論證、審核分析,以期做到合理進行開發,合理進行資源分配,并對該立項前的預研過程進行規范和管理。立項時,對硬件的開發方案的審查是重要內容。§3.3.2項目實施管理流程:主要定義和說明項目在立項后進行項目系統分析和總體設計以及軟硬件開發和內部驗收等的過程和接口,并指出了開發過程中需形成的各種文檔。該流程包含著硬件開關、軟件開發、結構和電源開發、物料申購并各分流程。§3.3.3軟件開發流程:與硬件開發流程相對應的是軟件開發流程,軟件開發流程是對大型系統軟件開發規范化管理文件,流程目的在對軟件開發實施有效的計劃和管理,從而進一步提高軟件開發的工程化、系統化水平,提高XXXX公司軟件產品質量和文檔管理水平,以保證軟件開發的規范性和繼承性。軟件開發與硬件結構密切聯系在一起的。一個系統軟件和硬件是相互關聯著的。§3.3.4系統測試工作流程:該流程規定了在開發過程中系統測試過程,描述了系統測試所要執行的功能,輸入、輸出的文件以及有關的檢查評審點。它規范了系統測試工作的行為,以提高系統測試的可控性,從而為系統質量保證提供一個重要手段。項目立項完成,成立項目組的同時要成立對應的測試項目組。在整個開發過程中,測試可分為三個階段,單元測試、集成測試、系統測試。測試的主要對象為軟件系統。§3.3.5中試接口流程中試涉及到中央研究部與中試部開發全過程。中研部在項目立項審核或項目立項后以書面文件通知中試部,中試部以此來確定是否參與該項目的測試及中試準備的相關人選,并在方案評審階段參與進來對產品的工藝、結構、兼容性及可生產性等問題進行評審,在產品開發的后期,項目組將中試的相關資料備齊,提交《新產品準備中試聯絡單》,由業務部、總體辦、中研計劃處審核后,提交中試部進行中試準備,在項目內部驗收后轉中試,在中試過程中出現的中試問題,由中試部書面通知反饋給項目組,進行設計調整直至中試通過。由上可見中試將在產品設計到驗收后整個過程都將參與,在硬件開發上,也有許多方面要提早與中試進行聯系。甚至中試部直接參與有關的硬件開發和測試工程。§3.3.6內部驗收流程制定的目的是加強內部驗收的規范化管理,加強設計驗證的控制,確保產品開發盡快進入中試和生產并順利推向市場。項目完成開發工作和文檔及相關技術資料后,首先準備測試環境,進行自測,并向總體辦遞交《系統測試報告》及項目驗收申請表,總體辦審核同意項目驗收申請后,要求項目組確定測試項目,并編寫《測試項目手冊》。測試項目手冊要通過總體辦組織的評審,然后才組成專家進行驗收。由上可見,硬件開發過程中,必須提前準備好文檔及各種技術資料,同時在產品設計時就必須考慮到測試。附錄一.硬件設計流程圖:階段流程圖表單硬件需求評估硬件需求分析(包括技術風險評估)硬件需求分析(包括技術風險評估)硬件開發計劃和配置管理計劃進度計劃表硬件開發計劃和配置管理計劃進度計劃表硬件測試計劃硬件測試計劃硬件需求分析報告硬件開發計劃硬件測試計劃硬件詳細設計詳細硬件設計詳細硬件設計LCD認證流程關鍵器件采購PCB毛坯圖設計內部設計評審LCD認證流程關鍵器件采購PCB毛坯圖設計內部設計評審硬件詳細設計說明書硬件電路原理圖硬件BOM硬件設計內部評審記錄硬件實現測試PCB布板流程PCB布板流程軟件投板前審查軟件投板前審查打樣、試產硬件調試 打樣、試產硬件調試PCB貼片硬件內部評審PCB貼片硬件內部評審整機測試評審后發布并歸檔硬件修改整機測試評審后發布并歸檔硬件修改PCB數據器件規格書硬件子系統軟件裝配圖硬件單元測試分析報告電裝總結報告硬件系統測試版本硬件系統測試分析報告硬件評審驗證報告發布版本參考文件:PCB布板流程圖LCD認證流程圖附錄二.軟件設計流程圖:階段流程圖表單軟件需求分析軟件需求分析(包括技術風險評估)軟件需求分析(包括技術風險評估)軟件開發計劃和配置管理計劃進度計劃表軟件開發計劃和配置管理計劃進度計劃表軟件測試計劃軟件測試計劃軟件需求規格書軟件開發計劃軟件開發風險控制計劃軟件測試計劃軟件詳細設計詳細軟件設計詳細軟件設計內部設計評審內部設計評審軟件詳細設計說明書軟件接口設計說明書軟件設計內部評審記錄軟件實現測試編碼調試編碼調試編寫測試用例單元測試編寫測試用例單元測試軟件集成/調試軟件集成/調試評審后發布并歸檔軟件修訂軟件系統測試發布系統測試版本評審后發布并歸檔軟件修訂軟件系統測試發布系統測試版本單元源代碼單元調試報告單元測試用例單元測試分析報告集成后的軟件及源代碼軟件集成調試報告軟件操作手冊系統測試軟件系統測試用軟件文檔軟件系統測試分析報告發布版本參考文件:附錄三編程規范單板軟件編程規范目的:為了開發人員之間更好地進行交流,提高代碼的可讀性,可維護性,特制訂本規范,作為程序編寫的指導文件。本規范只涉及到源碼書寫的格式,希望能有較統一的編程風格。將來若有和公司相關規定沖突的地方,本規范有可能作適當修改。1。模塊描述模塊是為了實現某一功能的函數的集合,文件名使用缺省的后綴,在每一模塊的開頭應有如下的描述體:/*********************************************************************PROJECTCODE :項目代號或名稱 **CREATEDATE :創建日期 **CREATEDBY :創建人 **FUNCTION :模塊功能 **MODIFYDATE :修改日期 **DOCUMENT :參考文檔 **OTHERS :程序員認為應做特別說明的部分,如特別的編譯開關 *********************************************************************/ 不同的修改人應在修改的地方加上適當的注釋,包括修改人的姓名。另外,如有必要,要注明模塊的工作平臺,如單板OS、DOS、WINDOWS等。注明適用的編譯器和編譯模式。2。函數描述 函數是組成模塊的單元,一般用來完成某一算法或控制等。在每一函數的開頭應有如下的描述體:/*********************************************************************FUNCTIONNAME:函數名稱 **CREATEDATE:創建日期 **CREATEDBY:創建人 **FUNCTION:函數功能 **MODIFYDATE:修改日期 **INPUT:輸入參數類型(逐個說明) **OUTPUT:輸出參數類型(逐個說明) **RETURN:返回信息 *********************************************************************/可選的描述有:*RECEIVEDMESSAGES:收到的消息 **SENTMESSAGES:發送的消息 **DATABASEACCESS:存取的數據庫 **CALLEDBY:該函數的調用者 **PROCEDURESCALLED:調用的過程 **RECEVEDPRIMITIVES:收到的原語 **SENTPRIMITIVES:發送的原語 *及其它程序員認為應有的描述。標題可以只大寫第一個字母。例如:FunctionName:3。命名規則: A)函數:函數名應能體現該函數完成的功能,關鍵部分應采用完整的單詞,輔助部分若太長可采用縮寫,縮寫應符合英文的規范。每個單詞的第一個字母大寫。如:ShowPoints,CtrlDestBoard,SendResetMsg等。B)變量:變量的命名規則部分采用匈牙利命名規則(鼓勵完全使用匈牙利名規則)。變量的第一個或前兩個字母小寫,表示其數據類型,其后每個詞的第一個字母大寫。推薦的類型前綴如下:前綴含義前綴含義a數組nshortintbBOOLnp短指針byBYTEp指針ccharlLONGcb字節記數lp長指針cr顏色參考值s串cx,cy短型(x,y長度的記數)sz以零結尾的串dwDWORDtm文本fn函數wWORDhHANDLEx,y短型(x或y的坐標)iintg_全局變量m_類的數據成員ucunsignedchar如iCurrentValue,uTransitionCount等。對于其他復合類型或自定義類型,請用適當的前綴來表示。除局部循環變量外,不鼓勵單個字母的變量名。對于常用的類型定義,盡量使用WORD、BOOL、LPWORD、VOID、FAR、NEAR等慣用寫法,避免使用char、long、void、far、near等小寫格式。不使用_UC、_UL等XXXX公司以前一些人的習慣寫法。 C)結構:結構的定義有兩個名稱,一個是該結構的類型名,一個是變量名。按照C語言的語法,這兩個名稱都是可選的,但二者必有其一。我們要求寫類型名,類型名以tag做前綴。下面是一個例子: structtagVBXEVENT{ HCTL hControl; HWND hWindow; int nID; int nEventIndex; LPCSTR lpEventName; int nNumParams; LPVOID lpParamList; }veMyEvent; tagVBXEVENT veMyEvent[MAXEVENTTYPE],*lpVBXEvent;對于程序中常用的結構,希望能使用typedef定義,格式如下:typedefstructtagMYSTRUCT{ structmembers }TMYSTRUCT,*PTMYSTRUCT,FAR*LPTMYSTRUCT;struct后的類型名有tag前綴,自定義的結構名稱一律用大寫字母,前面可以加一大寫的T。而結構類型變量定義則可以寫為:TMYSTRUCTvariablename;并可在定義MYSTRUCT_S同時根據需要,定義其指針,遠指針和尺寸常量:typedeftagMYSTRUCT{ structmembers……}TMYSTRUCT,*PTMYSTRUCT,FAR*LPTMYSTRUCT;#defineMYSTRUCTSIZEsizeof(TMYSTRUCT);結構變量的命名,建議采用如下方式: 從結構名中,取出二至三個詞的首字母作為代表此結構的縮寫,小寫作為變量前 綴。例如:(取自MicrosoftWindows示例) structOPENFILENAMEofnMyFile strcutCHOOSECOLORccScreenColor D)聯合:聯合的命名規則和結構相似,如: uniontagMYEXAMPLE{ int iInteger; long lLongInt; }myExample;typedeftagMYEXAMPLE {intiInteger;longlLongInt;}MYEXAMPLE,*PMYEXAMPLE,FAR*LPMYEXAMPLE;4。書寫風格: A)函數:函數的返回類型一定要寫,不管它是否默認類型,函數的參數之間應用一逗號加一空格隔開,若有多個參數,應排列整齊。例如: intSendResetMsg(PTLAPENTITYpLAPEntity,intiErrorNo) { intiTempValue; . . . } 函數的類型和上下兩個括號應從第一列開始,函數的第一行應縮進一個TAB,不得用空格縮進。(按大多數程序范例,TAB為四個字符寬,我們規定:TAB為四個字符寬。) B)語句:循環語句和if語句等塊語句的第一個大括號‘{’可跟在第一行的后面,接下來的語句應縮進一個TAB,如: for(count=0;count<MAXLINE;count++){ if((count%PAGELINE)==0){ . . . } . . }也可另起一行,如: for(count=0;count<MAXLINE;count++){ if((count%PAGELINE)==0){ . . . } . . }兩種寫法在世界著名的程序員手下均可見到,我們尊重個人的習慣,但推薦使用后一種寫法。 復雜表達式(兩個運算符以上,含兩個)必須用括號區分運算順序,運算符的前后應各有一空格,習慣寫在一行的幾個語句(如IF語句),中間應有一空格,其它語句不鼓勵寫在同一行。 空格加在適當的地方,如if(;for(;){; 語句的上下對齊也可使程序便于閱讀,如: myStruct.iFirstNumber =0; myStruct.lSecondNumber =1; myStruct.pThePoint =NULL; C)常量:常量一般情況下可用宏定義,用大寫的方式,單詞之間用下劃線隔開如: #defineMAX_LINE 100 #definePI 3.1415926 不鼓勵在程序中出現大量的數字常數。注:對于一些有必要說明的縮寫,可以在模塊描述內加以說明。5。頭文件:頭文件一般包括了數據結構的定義,函數原形的說明,宏定義等,不許包含函數體和變量實體,文件名使用缺省的后綴.h,不使用類似.DEF等非標準的后綴名,頭文件的開始可包括如下的注釋:/******************************************
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 遼寧省遼陽太子河區五校聯考2024-2025學年初三月考試卷(二)物理試題含解析
- 永平縣2024-2025學年三年級數學第二學期期末聯考試題含解析
- 江蘇省泰州市泰興市黃橋教育聯盟重點名校2024-2025學年初三年級五月份月考卷語文試題含解析
- 興義市第八中學2025年高三接軌考試物理試題文試題含解析
- 勞務分包安全合同
- 抵押車借款合同二零二五年
- 美甲美睫店員工正式聘用合同書范例
- 婚戀中介合同書范例
- 場地租賃保證金合同書二零二五年
- 二零二五商鋪轉租租賃簡單合同書范例
- 兒童保健學課件:緒論
- 中小學校園安全穩定工作崗位責任清單
- 論提高行政效率的途徑 開題報告
- 校園安全存在問題及對策
- NY∕T 309-1996 全國耕地類型區、耕地地力等級劃分
- 濃縮機的選擇與計算
- 滬教版六年級下冊單詞表
- 地基基礎軟弱下臥層驗算計算表格
- 最新投標書密封條
- SAPFI清賬接口和部分清賬接口例子
- TWI之工作改善JM精講
評論
0/150
提交評論