我对编程中常见名词的理解
2019獨角獸企業重金招聘Python工程師標準>>>
我們知道,軟件開發過程中最大的挑戰來自于軟件的復雜度,而造成軟件復雜度上升的因素有很多,其中,最主要的一個成因是冗余。冗余帶來信息量的膨脹,降低了軟件系統代碼的可讀性和可理解性。
冗余是這么可怕的存在,使用結構化、過程、函數、數據抽象、對象化、繼承、多態可以減少冗余,下面是我對這么幾個名詞的理解:
1、最初的冗余來自于流程的冗余,選擇有序的控制流,限制為順序、分支和循環3種模式,可以壓縮一部分代碼;
2、還有的重復出現的流程代碼,抽取出來,重復利用,同時“黑盒化”讓過程的調用者不需要知道內部的細節,解決了流程的抽象;
3、限制抽取出來的過程入口和出口,有效的控制外部環境對黑盒內部的影響,可預測反饋值,這時候,就像數學中用到的函數了;
4、抽象數據,將常見的數據組合方式提取出來,打包成一個結構;
5、將常見的數據和函數組合提取打包成黑盒,模板化,可以重復利用;當黑盒接收到能識別的信息,就以一定方法來反饋,數據和函數都被隱藏,我們只看到該黑盒對于某一信息反饋的行為,讓我們減少代碼冗余的同時更加具體感知到這個黑盒的存在,就像現實中的對象,可以稱之對象化;
6、在結構化和對象化之后,自然進化出來新的一種抽象方式,繼承,將不同種類的對象中的相似部分提取出來,生成父類,有效降低了冗余;
7、將不同對象的相似的行為方法抽取出來,形成可以歸納的利用方式,讓功能的調用者可以使用統一方式利用不同對象,多態就形成了;
轉載于:https://my.oschina.net/xorochi/blog/33292
總結
以上是生活随笔為你收集整理的我对编程中常见名词的理解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 肌肉的萎缩怎么办
- 下一篇: 高性能WEB开发(6) - web性能测