1. 程式人生 > >[31期] 第一個專案就這樣完結了,分享一些感想

[31期] 第一個專案就這樣完結了,分享一些感想

第一個專案做完了,不難,都是講過的知識的綜合運用,要想寫出更多的功能以及更有效率的程式碼,就需要你更深厚的編碼能力了,這需要平時不斷的思考、練習 以及 總結。

由於以前讀過 Discuz!的程式碼,研究了一下它的一些寫法,所以在這個專案開頭的頭兩天我都不急著編碼,看頭身邊同學熱火朝天地寫呀寫,我當時確實很淡定。

而實際的軟體開發也是不能急進,必須按照規範來做。最開始的一定是資料庫的設計工作,當中包含了程式的各種業務邏輯實現所需的資料表和欄位,這些都代表什麼意思,我們編碼之前一定要總結下來,而不是憑空地想象。我知道到產品程式碼在最開始的執行的時候都是需要初始化各種常量以及變數,以及做一些安全性的判斷,所以我在開頭兩天一直琢磨著這些,也邊想邊試著寫。

無奈自己在來兄弟連之前實在一直也沒堅持寫程式碼,所以即便過去有過的思路現在也很模糊,實際上過去也沒有很正式很清晰地寫過一套程式,所以導致我在思考這些過程中遇到不少坎,有點鬱悶。於是先放下一些想法,決定先把資料庫的設計搞定。本來老師給我們發了一份資料庫的設計表格的,說按照這個設計去做就行了。但我感覺設計得相對簡單些,不夠接近現實的商城開發。遇到這樣的情況,我一般都是向成熟的產品索取靈感和思路,於是在本地安裝了 ECShop 2.7.2,這個成熟的商城產品有很多值得學習的地方,我主要是借鑑其資料庫設計以及功能上的業務邏輯,研究了一番之後,又折騰了大半天,自己認為可以的資料庫終於設計好了。然後又去想我這個專案的寫法,考慮到了安全性,還打算在每個檔案入口都增加判斷標識,個別檔案還需要遮蔽搜尋引擎抓取等等。想了很多,但歸根到底需要的還是一個清晰的思路,誠然我的這些想法都是不錯的,借鑑的都是流行的寫法和思路,但無奈自己確實理不到一個徹底的思路,這樣折騰來折騰去的,就過去了兩天了,幾乎啥也沒幹,除了重新設計了資料庫之外。

我知道我必須開始了,所以最終我拋棄了之前的大部分想法,從簡,先把能實現的想法寫出來再逐步完善。然後後來的好多天都是在寫後臺各個功能,但自己的進度確實比很多同學都慢了。最終我還是在專案驗收前完成了老師要求絕大部分功能,確實有沒有完成好的,是因為自己的CSS學得比較爛,在編碼過程中又因為折騰個別功能耗費多了時間,於是專案進度把握得不夠及時,前期耽誤了些時間,導致後期開發已經不考慮介面,只實現功能,所以後面的時間需要惡補一下CSS。

這個專案還是比較有收穫的,堅持做下來,之前學習過的都用得比較熟了,儘管前期折騰一些想法和資料庫花了不少時間,但也因此使得我的資料庫設計是整個班最靠近正式產品的(當然也最複雜),儘管很多欄位最終都沒用上,但我對商城的基本功能瞭解得比以前深刻多了,日後有時間還希望將這個資料庫利用起來,重新寫一套更加規範和完整的程式出來。

小結一下吧:

1、限定時間要完成的專案,不使用不清晰的思路和寫法,開始寫之前一定做好思路梳理和規劃,定下每天需要完成的進度。(實際做專案時,如果完成不好或完不成,不僅砸了自己的招牌,還會給別人“不行”的感覺,所以要慎重);
2、在編寫過程中可能會有新想法,可以適當調整,但都應該以保證專案完成進度為大前提來做。
3、整理一個業務邏輯,不能光靠想,對於較複雜的業務邏輯,應該用txt或整理邏輯結構圖來羅列要點,梳理思路,憑空想象容易亂。

基本上,這個專案要實現的功能都不太難,但要寫出質量高的程式碼就不容易,班裡有個大哥自己寫了接近40個自定義函式以及三十多個自定義常量,將諸如輸出表格、sql查詢等常用操作都封裝成了通用函式,需要的時候輸入幾個資料,一個表單就輸出來了,減少了重複編碼,降低了開發成本,提高了編碼效率,寫法很主流,具備產品思維,真的值得借鑑,畢竟主流的產品有很多寫法都是類似的、成熟的。

就分享這麼多吧,期待高老師的課程,相信收穫會更多!大家繼續加油,堅持下來,不出幾個月,人生的軌跡就會被你的努力給重新定位了,想想都興奮吧,所以,別找藉口,把時間都利用起來,多敲程式碼多思考。

成功,是從你決定改變自己那一刻起,一點一點堆砌起來的,那就從每一天的堅持努力開始吧。與各位兄弟共勉。

最後分享一下我自己用的這個資料庫表格吧

閱讀(40) | 評論(0) | 轉發(0) | 給主人留下些什麼吧!~~ 評論熱議