久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3974|回復: 0
收起左側

電子產品程序設計漫談

[復制鏈接]
ID:128229 發表于 2016-6-29 23:06 | 顯示全部樓層 |閱讀模式
                         電子產品軟件設計漫談
技術源于積累,成功源于執著。
                                 ——沈輝文







一、方案的制定階段
    1. 一個項目的成敗往往不是在最后一天體現,而是在第一天就被注定了(三軍未動,糧草先行)。也就是說,方案的制定階段直接關系到項目的成敗。因此在這個階段要細致的做好準備工作,這些工作主要包括以下內容:
    2. 制定技術開發要求,首先要搞明白我們到底想做什么?最害怕的就是那種沒有要求的設計項目。因為有時,沒有要求就意味著客戶隨時會提出新要求。這往往會陷開發者以兩難的境地。
    3. 制定實現方案,進行技術準備。了解技術瓶頸和難點在哪。評估這些技術難點的風險。能否解決?如何解決?對于有經驗的工程師來說,技術方案的定制與論證幾乎憑直覺就能完成。而對于新手來說,這些工作切往往很難獨立完成,需要前輩給予指導或協助。
    4.評估整個項目開發需要的各方面的資源,包括:人力、工具、材料、場地、經費等。并由此核算與評估項目的成本(包括研發成本和生產成本)。
    5.評估確定開發周期。開發周期有兩個概念,一個是指工程師評估出來的開發周期。一個是指市場方面希望的完工時間期限。當二者發生矛盾時,就必須進行協調。要么市場方面放寬期限,要么增派人手或安排加班。
    在整個立項過程中,工程師往往只把關注的目光片面地投向技術方案本身,而忽略了市場前景預估,成本核算、工具和材料的準備以及人力資源的調度等等。其實這些因素同樣關系著產品的成敗,需要給予足夠的重視。必要時,應該請相關人員共同參與,進行評估和協助。
二、產品設計階段
    在經過多方面的綜合評估,確認方案可行,即可立項,進入具體的設計階段了。其實這個設計階段中包含了系統、程序、電路、機械結構等多方面的內容。由于本手記主要講電子程序設計。因此就撇開其他,只講程序。在這個階段工程師的主要任務是:
    1.程序框架的規劃。
    2.各個模塊功能的細分。
    3.系統資源的分配。
    4.算法的設計。
    5.程序流程圖的繪制。
    新手們常常喜歡跳過這個階段,蠢蠢欲動地直接上機去寫程序,邊寫邊調。滿以為這樣可以加快進度,結果往往事倍功半,反而耽誤了時間。
    其實,磨刀不誤砍柴工。這個階段付出的辛苦,將在后面幾個階段獲得N倍的報答。反之,這個階段的任何一點懈怠,都有可能為以后的工作埋下禍根。
三、代碼編寫階段
    這個階段就是我們平時所謂的寫程序了,其實是最沒技術含量的活,誰都能干。這個階段最基本的要求就是盡量減少筆誤現象,并且嚴格遵守編程規范。
    根據經驗,筆誤現象是無法完全杜絕的。筆誤屬于低級錯誤,其實并不可怕。即使存在一些筆誤,也可在下一步調試階段糾正。事實上,現在許多編譯器已經可以為我們發現許多筆誤現象。
    真正需要注意的是遵守編程規范。一個規范的程序文本,不但是審美的要求,而且更是后續調試和修改工作得以勝利進行的保證。 關于編程規范,如果展開來講的話,完全可以寫一本書。
    1.向前兼容原則
    對于單個程序員來說,效率來自于不斷積累。這時要奉行的最高原則就是向前兼容。
    我們知道,許多有經驗的編程老手,都擁有自己的程序模塊庫。當他們需要設計一個新的程序時,只要直接從舊的項目中抽取出成熟模塊,移植到新的項目中。七拼八湊,就完成了新程序的設計。這極大提高了開發速度。
    為了讓這些模塊,能夠在不同時期的不同項目中,保持較好的兼容性,必須讓它們遵守相同的規范。
    因此,要盡快形成個人成熟、完善的程序風格。
    2.相互兼容原則
    對于一個開發團隊來說,效率來自于分工協作。這時要奉行的最高原則就是相互兼容。
    在團隊中,編程者個人技巧的重要性被降低。甚至這些不和規范的技巧,會成為合作者之間溝通的障礙。
    團隊中的個人英雄主義是失敗的先兆。而團隊默契配合,才是成功的關鍵因素。
    因此,有必要制定統一的編程規范,讓團隊中的伙伴一起遵守,避免各自為政、一盤散沙。
四、產品調試階段
    這個階段就是要驗證前面的工作,把程序調通。
    在這里,調通的概念并不是說,程序在正常狀態下,偶然正確運行那么一回就算萬事大吉。我們要保證,程序在各種可能的狀態(包括異常狀態)下都能按預期的要求工作。
    曾經聽說,某某高手一口氣寫了N多K的程序,沒有經過調試,一次燒片就成功了。我覺得這簡直就是神話一般不可思議。我堅信一點,就是沒有BUG的程序是不存在的。這年頭,就連Windows XP都渾身是補丁,誰又能宣稱自己比比爾蓋茨還牛呢?
    調試階段要做的兩件重要事情:一是測試,就是要進可能多地找出程序中的BUG;二是DEBUG,就是要解決這些BUG。
    找不出BUG,或解決不了BUG,都是失敗。
    程序員往往更善于解決BUG,卻不善于發現BUG。這是由于程序員面對自己的程序,往往會存在視覺盲點。這就像禿子看不到自己的光頭一樣。另一方面,程序員即使發現BUG,但由于程序是自己寫的,往往不能正視之。這是一種思維障礙,就像我們常常不愿承認自己的缺點一樣。因此,最好的解決辦法,是在程序(產品樣品)交付客戶之前,請其他人員進行測試檢驗。
    在找到BUG后,需要程序員去分析問題并解決問題了。這才體現個人功力,拉開差距的時候呢。高手和低手的差別就在這時顯現出來。
五、產品維護階段
    這個階段是指產品在推向市場或交付客戶后,根據市場或客戶需求,進行升級維護,當然也包括進一步對隱形BUG的消除。
    一個得不到維護的產品,是沒有生命力的。就像一顆已經死亡的樹,雖然表面上看來還枝繁葉茂,但實際上它已經停止生長,遲早要腐化掉。
    同樣道理,一款常年不更新換代的電子產品,會像過去的明星漸漸被人遺忘一樣,逐漸丟失市場份額,而產品維護,是延長產品生命周期的不二法門。
    產品如何才能經歷歲月的考驗,千錘百改,依然生機勃勃?
    1.養成良好的編程習慣
    程序應該模塊化,就像積木一樣,便于拆卸或增加。
    對于MCU的一些資源,如RAM寄存器或I/O口,甚至包括一些常數,必須先定義在使用,避免直接使用。將來需要調整時,只要修改定義部分就好了。
    對于相同或類似的程序段,應該用子程序來實現。如果受堆棧等資源限制,不能使用子程序,則應該用宏來實現。只要以后需要修改時,只需要改一點,無需改一片。
    2.自覺加強版本管理
    詳細記錄每個程序版本的修改細節,形成一份歷史記錄。并且,每次改動后的版本都應該保留,新版本不要覆蓋老版本的文件。一個基本原則是,凡是要燒片測試或送樣的程序版本,如需要再做修改,必須升級版本號。
    并且,每次修改程序時,相關的注釋及輔助說明文檔也應該同步更新。免得下次再改時,發現對不上號。
    所有程序版本應該妥善歸類、存檔備份。有條件最好刻成光盤,避免日久年長因病毒或硬盤損壞而丟失。








回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 成人精品鲁一区一区二区 | 99热.com| 在线一区 | 五月婷六月丁香 | 国产福利在线 | 精品视频一二区 | 欧美精品在线免费观看 | 视频一区在线观看 | 91精品久久久久久久99 | 一区二区精品视频 | 成人免费视频7777777 | 久久久久久免费精品一区二区三区 | 特级毛片 | 欧美综合在线视频 | 午夜理伦三级理论三级在线观看 | 久草视 | 国产视频中文字幕在线观看 | 亚洲色综合 | 亚洲草草视频 | 在线日韩 | 992人人草 | 操网站| 久干网 | 国产激情片在线观看 | 福利视频一区 | 1204国产成人精品视频 | 亚洲国产精品精华素 | 亚洲精品一二三区 | 不卡一区二区三区四区 | 天堂精品视频 | 欧美激情99 | 91亚洲国产成人精品一区二三 | 国产成人精品一区二区三区在线观看 | 久久精品国产免费高清 | 午夜欧美一区二区三区在线播放 | 亚洲成人av | 九九热在线视频观看这里只有精品 | 狠狠躁18三区二区一区 | av中文字幕在线 | 午夜大片 | 久久国产精品免费一区二区三区 |