學習並掌握好專案的全域性過程

2021-06-06 11:39:05 字數 1474 閱讀 1482

·立項

一、需求的收集,uc的編寫雖然不是開發人員的工作,但最終需要開發人員在產品中實現。所以開發不合理的設計至少浪費了你的時間,開發技術無法實現的設計帶來最大的痛苦:失敗。所以,開發人員要重視需求以及uc的評審,提出自己能夠想到的所有異議。

二、一棟樓很難估算重量,但是一塊磚頭可以精確估算重量。乙個專案的時間很難準確的估計,但把專案開發劃分為不能再進行分割的模組功能點,對每個點的估計是可以更精準的估時的,由此由上至下,由下至上,得出近乎準確的編碼時間。

三、機會總是傾向有準備的人,成功也是。編碼工作保質保量的按時完成需要多方的準備工作,技術難點需要進行充分的技術預言,不熟悉的依賴平台或類庫要進行熟悉。

·設計

一、一圖勝萬言,模組結構以及流程等很難用用文字描述,即使用文字描述出來也很難看懂,所以在設計中,要善用用圖。

二、痛苦是為了快樂,詳細設計過程中有思考的痛苦,繁瑣的痛苦,但是繞過這些痛苦,編碼期間將會面臨更大的痛苦。

·編碼

一、 磨刀不誤砍柴工。對於乙個實現可以有很多解決方案,花些時間精力選取你認為最好的解決方案可以總體上提高工作成效,往往還可以得到使用者更好的體驗效果。 

二、 細緻認真嚴謹的工作即是對工作負責,更是對自己負責,讓這些成為習慣。任何一次,任何時候所進行的編碼工作,在邏輯、風格、簡單有效等方面拿出你的最好,既能更好為公司實現價值,同時更有利自己在技能,崗位的進步。

三、 簡單是美,在有效的前提下,越是簡單的處理方法越是珍貴的,**編寫也是,簡單的**便於理解維護,同時不容易產生錯誤。

四、 慎做改動,當然不是說不做改動或不鼓勵改動,而是不做倉促、草率的**改動。沒有洞察全域性,考慮全面,而倉促進行的改動往往沒有達到改動的目的卻帶來了其他問題。

·測試

一、事出有因,任何bug都是由於**的疏漏造成的,修復bug的痛苦過程中切莫懷疑是神在耍弄你,勇往直前的利用排除法或跟蹤除錯**等方法找到疏漏所在。

二、遇到自身模組相關問題首先檢查自己,相互推諉只會浪費時間以及減弱在其他同事對你的信任。

三、站的高看得遠,不同的視角有不同的風景。遇到比較難解決的問題而苦苦沒有思路時,轉換思路或把問題的考慮範圍放的更廣一點,往往可以找到解決方案。

四、功能提交測試前或bug修復提交驗證前,開發人員都要自己詳細的測試一下,驗證無誤再提交,這樣才是乙個優秀的開發人員。

·全域性

一、善於以及及時的溝通。在專案的整個流程過程中,遇到他人的問題或自己解決不了的問題,切忌堆在自己心裡,要及時找問題解決方進行溝通,通過尋求解決方案。

二、三人行必有我師,發現並學習別人的長處。作為開發人員,我們在追求接近完美的同時,也需要學會欣賞別人的長處,發現別人的優點,並學習別人的優點,轉化為自己的潛質,這樣,我們才可以進步的更快,更全面。

三、利人利己,善於幫助他人解決問題以及進行知識經驗的分享,更有利於自己的提高,同時還可以獲得他人的尊重。

四、模組的效能不是減少一行或幾行執行**所能提高的,效能的優化首先是從演算法上考慮,降低時間複雜度,然後從執行邏輯入手,減少迴圈執行**的執行次數。

好的專案的特點

在學習軟體工程的時候總會提及 高內聚,低耦合 但是實際上怎樣才算得上是 高內聚 低耦合 乙個好像專案究竟是以乙個什麼樣的形式實現高內聚低耦合呢。相對於前端來說,後端分的層次更多,更能體現出 高內聚,低耦合 的說法。每個邏輯層面的話,都不是直接的去相互互動的,而是每層都通過丟擲乙個介面讓另一層的方法去...

optee開源專案的學習

因為研究生階段選的是trustzone的研究方向,所以最近在一直看這方面的東西。前不久在github上找到這個optee的開源專案,於是fork來學習一下。發現optee有4個專案 optee os 包含了tee作業系統本身的源 提供了tee的內部介面。optee client 包含了tee客戶端庫...

speex開源專案的學習

專案是用c寫的。solution中包含了以下10個project 1.libspeex speex動態庫,核心project,使用者使用的就是它,在solution中,介面標頭檔案很貼心的放在了乙個單獨的資料夾中,名為public header files。2.libspeexdsp 靜態庫,從頭檔...