程式設計,以前真是有點誤解這個詞了,認為程式設計也就是用計算機進行編碼以實現人的需求。今天才明白,這是對程式設計狹義的理解。。程式設計應該是通過用計算機去實現或者做到人做不到或者需要很多時間或精力做到的事,以提高社會的生產效率。而計算機並不知道怎樣去做,這還是需要人考慮的,我們把要做的事情分析分解,然後建立能通過編寫**能實現的模型,然後再通過計算機所能理解的程式語言去最終達到目的。。所以程式**只不過是程式設計裡最底層的一項活動,在它上邊還有許多需要人規劃分析的事情。。這才是最重要的,這就是為什麼架構師為什麼比程式設計師境界高,因為他是告訴你怎樣去做,而你的任務是做出來什麼。。理所當然,怎麼做比做什麼重要許多。。
程式設計的重點在分析和規劃上,那麼這一階段又該去怎樣分析和規劃呢,這就說到了軟體工程的概念,軟體工程也是歷史發展的產物,旨在於把軟體開發模組化,結構化,工業化,其實這是有好處的。如果沒有這些理念,可想而知,乙個稍大點的軟體開發過程以及做出來以及以後的維護和可重用性都是非常困難的,這也是軟體工程誕生的背景。。。
以前看過乙個人說要養成這文件說明書的習慣,不覺為然,今天才恍然大悟,這是有道理的,說明文件,流程圖等等,都有利於你分析問題,建立模型,使你的程式模組化,結構化,並且有良好的介面。還有乙個好處是對於把程式設計理解為編寫**的人,那麼整個精力和也許都放在了寫**上,這樣寫出來的**是很亂的,因為要不停的除錯,修改,以達到最終的目的。這樣還有乙個弊處就是關於除錯。
一位前輩說過,一般的程式設計師除錯一下看到錯誤後修改後再除錯,直到沒有錯誤,另一部分人會開啟反彙編視窗檢視背後錯誤的原理,我想最高境界的應該是腦子中沒有除錯的概念,即除錯只是幫助你檢視最後的**是否有語法錯誤或者簡單的邏輯錯誤,做到胸有成竹的寫出正確的**,而不是一遍一遍的靠編譯器找出你的錯誤。。這種方式應該是最低階的。。所以要有廣義上的程式設計的理解,他也是幫助人解決事情的一種當時和工具,而程式需要就是它的利器。。語言,充其量也是工具而已,如果把目標放在如何精通一門語言,那麼,也許是否熟練運用都是問題,而應該把注意力放在問題的分析上,通過語言實現是最後的一道工序,這時候工欲善其事,必先利其器,也是有必要的。所以,是為了能夠熟練應用而精通,不是為了精通去學習。。
把軟體工程的理念加入到你的程式設計習慣中。。。
技術只是為了讓社會發展更有效率而存在的。。
由 引發的思考
前陣子在乙個移動專案中,通過 的方式 繫結click 事件來提交乙個表單,由於表單資訊比較敏感,於是採用的post 同步提交的方式,原本到也沒有什麼。後來萬惡的pm說 你這個按鈕呀,要固定在底部比較好 於是乎就通過 position fixed 固定到底部了。那麼,問題來了 在ios 下,虛擬鍵盤是...
由XML Literal引發的思考
首先,什麼是xml literal呢?原來,這是在vb.net 9.0才引入的乙個用於構建xml物件的新特性,並且只有vb.net 9.0才支援。我們都知道,要建立xml樹,可以使用linq中的api,如下所示 出自vb.net 9.0 xml literal dim xml2 new xeleme...
由html,body引發的思考
預設情況下,html body 除ie6 是沒有高度,但body有margin 在上圖中ie8,ie9,chrome,ff一樣 當僅僅給body設定height 100 時 html未設定height 沒有什麼改變,除了ie6,因為ie6中html預設100 當給html,body都設定height...