1. 程式人生 > >關於一次失敗的專案開發的反思和總結

關於一次失敗的專案開發的反思和總結

這次教訓比較深刻,磨刀不誤砍柴工也是這個道理,最大的體會就是:相比較技術而言,解決問題的思想和方式更為重要在開發一項公司活動產品的過程中,我因為建表太過膚淺,不規範,導致後期開發的過程中,程式碼越來越臃腫,各項判斷迴圈巢狀,極難維護和再拓展。我下來請教了同事,諮詢了幾位朋友,最後得出以下四點心得,發出來,時刻提醒自己:    1.根據實際需要解決的問題去分析該問題存在幾個主體,一次來確定需要幾個,表之間的關係是什麼。例子:邀請人,被邀請人,團隊。a通過分享連結,b點選連結註冊參與活動。a是邀請人,b是被邀請人,a和b共同組成一個團隊大A,該團隊的負責人是a。    這個例子中出現了3個主體:a、b、A,其中A是a和b組成的組織型主體,雖然在現實生活中不具有實體,但A也有自己獨有的屬性,所以也必須單獨作為一個主體。
    2.根據這些主體具有的主要屬性,以及實際問題需要對這些主體做哪些資料處理的操作(需求分析),這兩點來判斷這些主體(表)都需要哪些具備哪些欄位    3.給每個欄位設定資料型別和是否為空時,需要細化具體分析,預測做該欄位的資料處理是,涉及到哪些操作,如何設定資料型別,才能實現更高效的開發。第1、2、3步需要反覆推敲,直至打通每一個環節,才能進行後續的程式碼開發。    4.在後端程式碼的開發初期,時刻反思資料庫設計是否合理,資料表是否合理,資料型別是否合理。如果改動,是否會影響到其他的邏輯操作。這一步需要兼顧資料庫穩定和高效。    我後來又仔細分析了這個專案,重新建表,總共需要3張表,20個欄位,但是我錯誤地把他們綜合到一張表裡去了,才6個欄位,這也是導致我程式碼極其臃腫醜陋的原因。修改後的表:團隊表
團隊id
團隊名稱推薦人id成員數量
推薦人表
推薦人id姓名性別電話時間團隊id驗光狀態是否滿團
被推薦人表
被推薦人id姓名性別電話推薦人id時間驗光狀態
一開始設計錯誤的表:
id被推薦人電話推薦人電話時間姓名性別密碼驗光狀態

相關推薦

一個音頻算法工程師的項目失敗後的反思總結

適配 過去 來看 資源 天下難事 夢想 必作於易 失敗 軟件開發   理論和實踐   領導把公司的一個重要研究項目(命名為順耳風)交到了我手上--關鍵詞喚醒系統,也就是當下最熱門的熱詞喚醒。為了盡快的給客戶演示,留給我的時間大約有三個月,剛開始我估算了一下,算法研究一個月

關於失敗專案開發反思總結

這次教訓比較深刻,磨刀不誤砍柴工也是這個道理,最大的體會就是:相比較技術而言,解決問題的思想和方式更為重要。在開發一項公司活動產品的過程中,我因為建表太過膚淺,不規範,導致後期開發的過程中,程式碼越來越

kaggle 2018 data science bowl____失敗的 kaggle 專案參與經歷及反思總結

____tz_zs儘管,沒能得到好的結果,參與過程中的收穫和提高,也是很值得高興的。這裡記錄下這次的失敗,以便下次吸取教訓、更進一步。同時,也希望能夠幫到那些看到我這篇部落格的新人朋友。一個專案的步驟分為:資料預處理、模型構造、模型訓練、模型評估總體思路:訓練一個複雜的卷積神

不吐不快失敗的嘗試

err 系統 失敗 ogl ble file 是我 一次 .tar.gz 一定要在工作日每天下班前,作總結,切記,切記。 上午,處理周六遺留下來的問題,聽朱X貴爆料高層腐敗,事兒覺得未來一片灰暗。 不論真假,這些惡,自己是萬萬不能做的,如果是為了錢和名,不要也罷。 昨晚看洛

【unity實用技能】記失敗的藍圖接口開發失敗經驗

返回值 。。 cat you 值類型 fff nts cor oci 本來想寫一個批量控制widget開關的接口,想寫一個像append一樣的可加pin的接口 首先還是找到這個接口得代碼 可以看到關鍵的點就是 CommutativeAssociativeBinaryOper

極限專案管理,設計,開發,聯調與測試

     什麼是All In? 是你不知道全力做這件事情會得到什麼。但你只想把它做好的感覺。      最近專案準時忙碌,每天奮戰在一線,從一開始瞭解需求,整理需求,到系統設計,模組兒設計。隨後前後端介面約定,後臺管理模組兒與核心模組兒開發,前後端介面聯調,與其他系統介面約定聯調。再到全專案測試,以及迎來最終

記錄失敗的向git提交程式碼,解決的方法。(首次建立倉庫)

背景: 向git push程式碼(建立一個新的倉庫) 做法: 在github建立一個新的倉庫------>本地新建資料夾------->依次執行了下面的命令 git init git clone git checkout -b master

maven專案clean install失敗 'version' contains an expression but should be a constant.

情景: 首先建了一個父pom然後建了幾個子pom,在clean的時候報錯 Non-resolvable parent POM for com.mamcharger.fae:fae-register:${project.parent.version} 因為在子pom裡面加了下面

最近的敏捷專案Scrum經驗總結

Team剛剛完成了一個敏捷專案,做一下專案總結,以備以後借鑑和提高。 需求 - 溝通 – 人 - 過程 - 工具 專案要成功的最關鍵因素是什麼?軟體要快速高效又高質量的提交靠的是什麼?有人說最關鍵是專案經理,關鍵是溝通,有人說是技術設計,有人說是對需求的把握… … 從

失敗的IM APP開發經歷

      近期收到一個類似釘釘的IM軟體安卓端開發需求,自己想也沒想就同意了開發需求,需要一個月內實現通訊錄下載,點對點發訊息,圖片,表情,小視訊,離線檔案,群聊(同樣實現訊息,表情,小視訊,離線檔案)的開發,前期一直沒有重視起來,因為有凡信這樣的開源框架,到了對接的時候發

失敗專案經理招聘經驗

成功的原因有許多種,而失敗的原因往往就那麼幾種。人們更願意去討論自己是如何成功的,確不太情願開誠佈公的去剖析自己是如何失敗的。而時刻去反思自己失敗的案例,我們會進步的更快!    和大家分享一個2010年發生在我身邊的真實案例,不同的是,這個案例是個失敗的案例:  

失敗客戶現場軟體實施經歷總結

    經歷了三個來月的忙碌工作,我們團隊的問題,終於在這次客戶現場實施過程中暴漏了出來。     2013年7月15日晚坐臥鋪第二天(16日)到達DEF城市,直接來到客戶現場做系統現場實施工作(稱呼為A系統)。第一天倒還相對的平靜,可後續的事情一件接一件,讓我又一次感受

hadoop之MapReduce呼叫R的失敗總結~

MapRedure呼叫R遇到了一系列奇怪的問題,包括前面2篇blog也是為了這個問題去測試。 時至今日,我已經耗費了一個星期的時間去追蹤它的緣由,但是我依然沒有發現它。 或許我應該暫時的放下。有待以後換個hadoop的環境再去嘗試。畢竟我還不能保證這個hadoop的環境是非

失敗的PHP擴充套件開發之旅

2. 進入php原始碼包的ext目錄,藉助ext_skel工具生成外掛架子程式碼 cd ext ./ext_skel --extname=demo 3. 編輯config.m4,開啟PHP_ARG_WITH或者PHP_ARG_ENABLE選項(說實話區別仍沒搞清楚,求達人指點),新增C++支援、依賴路徑

業餘專案的敏捷開發實踐

      本次是在原有ApiTemplate專案之上,增加一個使用者登入許可權控制模組,用於驗證ApiTemplate專案在面對一些簡單問題時,如何抽象並支援未來的擴充套件。使用者登入許可權控制模組看上去很簡單,但由於業餘時間總是有限的。所以藉助此機會實踐一

失敗的PHP擴展開發之旅

erro 一個 google 討論 c++開發 .com center goroutine text 一次失敗的PHP擴展開發之旅 By warezhou 2014.11.19 緣起 經過不斷的持續叠代。我們部門的協程版網絡框架(CoSvrFrame)最終出爐了!

測試崗位針對Java接口的面試題

oca ted new system tac get pri 同步機制 線程 1、post和get的區別? 1. get是從服務器上獲取數據,post是向服務器傳送數據。2. get是把參數數據隊列加到提交表單的ACTION屬性所指的URL中,值和表單內各個字段一一對應,在

分享OPENssh批量升級過程升級腳本

Linux shell Openssh 1 ssh版本檢查本文檔針對於ssh版本低於7.0的系統,升級為openssh7.5 p1。ssh –V [root@kuajing-db3 ~]# ssh -V OpenSSH_5.3p1, OpenSSL 1.0.0-fips 29 M

MySQL存儲過程遊標的使用

MySQL存儲過程 MySQL遊標 需求: 有三張表:Player、Consumption、Consumption_other。Player表中記錄用戶信息(playerid、origin等字段),Consumption和Consumption_other記錄用戶的消費信息。現需要根據Playe

艱難debug的反思

處的 sce 種類 分析 ef6 結果 出現 用例 時間 已經很久沒有遇到如此頑固的bug了,總共耗費了我近1個禮拜的時間。期間的種種沖突,個人崩潰,最終解決方案的形成,到回過頭來的反思,實在有太多值得梳理的東西。 從結果上來講,這是個人js基礎極端薄弱的集中體現,是