做開發今年是第4年了,可是做的最多的是貼上和複製。把一段**從這個地方複製到另乙個地方,做一下修改就完成了乙個新的功能。又或者把乙個專案直接賦值過來改個名字就開始做乙個新專案。做完也就完了。完全是為了工作而工作,沒有經過太多的思考。也沒有花時間去回顧之前做的專案都有什麼共同點。久而久之學會的只有一些需要用的知識點,還有就是貼上複製更快了。表面上給人感覺好像自己很能幹,其實自己變成了乙個實實在在的碼農,相信這個詞適用於不少人,呵呵。
為了打破自己的現狀,不得不好好的花點時間去學習 更有用的東西。 好了不廢話了。 光說不練假把式,幹活不用功,說死也無功(呵呵!經理說的)。
來說說面向過程程式設計的缺點吧:
1)程式過於僵硬。
2)過於脆弱,容易出現各種各樣的邏輯問題
3)復用率底,明明是差不多的邏輯 非要複製乙份幾經修改才能達成目標
4)粘度過高,正所牽一發動全身啊。修改起來相當的麻煩啊。
要學好設計模式其實就是學好物件導向程式設計,下面看看幾個物件導向的要點吧:(後面會講得比較慢,也希望自己能在書寫的過程中加深自己的印象)
一、開放-封閉 原則
講的是乙個軟體應當對擴充套件開發,對修改關閉。
這樣做的有點是:通過擴充套件已有的軟體系統,可以提供新的行為,以滿足對軟體的新要求,使變化中的軟體有一定的適應性和靈活性。
對於已有軟體模組,特別是最重要的抽象層模組不能再修改,這使變化中的軟體系統有一定的穩定性和延續性。
看到有本書裡面舉了乙個例子挺好的,說是就西遊記裡面的 把天庭當作是乙個軟體系統,他有著自己的天規和次序,然後孫悟空想去改變天宮,想自己做玉皇大帝,也就是有針對系統有新的需求,並且還是嚴重性的需求,面對這一需求,天宮實行了開閉原則,沒有讓他做玉皇大帝,而是針對他提出了乙個職位將其招安。這樣就體現了 系統的開放原則。
自己對這一原則的理解 是在做修改的時候不能盲目的去調整系統整個結構,而是在保持現有體系不變的基礎上進行擴充套件。那麼也就是說在做系統的時候要考慮到系統的擴充套件性,整理出不會變動的根本架構,然後基於這個架構做擴充套件開發。
從0開始 二
slam是指當某種移動裝置 如機械人 無人機 手機等 從乙個未知環境裡的未知地點出發,在運動過程中通過感測器 如雷射雷達 攝像頭等 觀測定位自身位置 姿態 運動軌跡,再根據自身位置進行增量式的地圖構建,從而達到同時定位和地圖構建的目的。sfm structure from motion 是一種和sl...
模式串 從 0 開始的KMP演算法
希望能夠幫到學習kmp的人 include include include kmp.h kmp.h 內容 define maxsize 255 typedef struct sstring void next sstring const t extern int next int indexof k...
VC usb程式設計從0開始
課題 通過usb來顯示外部電子羅盤的資料.環境 vs.net 2003,usb使用方法 第3方庫 ntddk 日期 2010 02 25 進度 完成指南針顯示ui 未完成 1,微控制器部分工作 2.usb通訊部分.目前遇到的問題 第三方庫新增進來之後,還未移植,編譯的出現問題.日期 2010 02 ...