《都說編程難,編程到底難在哪里?》要點:
本文介紹了都說編程難,編程到底難在哪里?,希望對您有用。如果有疑問,可以聯系我們。
都說程序員一天只有三件事:吃飯、睡覺、敲代碼.
都說學會編程很簡單,可是要學好編程可是很難.
那,編程到底哪里難?
(圖片來源于網絡)
有一個人總結了軟件開發中無法規避的四個難點:復雜度、一致性、可變性、弗成見性
這個人便是IBM大型機之父,Frederick Brooks.
復雜度:
規模上,軟件實體可能比任何由人類創造的其他實體還要復雜,因為沒有任何兩個軟件部門是相同的.如果有相同的情況,我們會把它們合并成共調用的子函數.
數字計算機本身就比人類建造的大多數東西要來的復雜,由于復雜度,團隊成員之間的溝通非常困難,導致產品開發中會出現很多問題,使本錢超支、進度跟不上;復雜度不僅帶來技術上的困難,還會引發很多管理上的問題,它使全面理解問題變得很難,從而妨礙了概念上的完整性.
一致性:
工程師必需控制的數據很多是隨心所欲的、毫無規則可言的,來自若干必需遵循的人為慣例和系統.它們隨不同的接口而改變,隨時間的推移而改變,而且這些變化不是必需的,僅僅由于它們是不同的人設計的結果.
某些情況下,因為是開發最新軟件,所以它必須遵循各種接口.另一些情況下,軟件的開發目標就是兼容性.在上述的所有情況中,很多復雜性來自堅持與其他接口的一致,對軟件的任何再設計,都無法簡化這些復雜性.
可變性:
所有成功的軟件都會發生變更.當人們發現軟件很有用時,會在原有的應用范圍的界限,或者在超越界限的情況下使用軟件.功能擴展的壓力主要來自那些喜歡基本功能,又對軟件提出很多新用法的用戶們.
簡而言之,軟件產品扎根于文化的母體中,如各種應用、用戶、自然及社會規律、計算機硬件等等.后者持續不斷的變化著,這些變化無情的逼迫著軟件隨之變化.
弗成見性:
軟件是不可見和無法可視化的.軟件的客觀存在不具有空間的形體特征.當我們試圖用圖形來描述軟件結構時,會發現它不僅僅包括一個,而是很多相互關聯的、重疊在一起的圖形.
除去軟件結構上的限制和簡化方面的進展,軟件仍然堅持著無法可視化的固有特征,從而剝奪了一些具有強大功能的概念工具的構造思路.這種缺憾不僅限制了個人的設計過程,也嚴重阻礙了相互之間的交流.
(部門觀點來源于網絡)
維易PHP學堂逐步分享更多《都說編程難,編程到底難在哪里?》相關教程。歡迎交流
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/9269.html