Python代碼風(fēng)格對軟件維護(hù)的影響研究
本文選題:Python代碼風(fēng)格 + 軟件維護(hù) ; 參考:《南京大學(xué)》2017年碩士論文
【摘要】:代碼風(fēng)格是人們在編寫計算機(jī)程序源代碼時使用的一套規(guī)則或指導(dǎo)準(zhǔn)則,匯集了業(yè)界公認(rèn)的最佳實踐方法。違反代碼風(fēng)格編寫的代碼不利于開發(fā)人員和維護(hù)人員對其功能的理解,導(dǎo)致提升錯誤引入的可能性,影響程序代碼的可讀性與可維護(hù)性,進(jìn)而降低軟件產(chǎn)品的質(zhì)量。代碼風(fēng)格與軟件維護(hù)的關(guān)系值得深入研究,但現(xiàn)今還未有相關(guān)工作研究Python代碼風(fēng)格對軟件維護(hù)的影響。為了科學(xué)合理地探討Python代碼風(fēng)格違反與軟件維護(hù)的關(guān)系,本文采用實證研究的方法,在開源網(wǎng)站中挑選7個流行的且具有4-8年以上維護(hù)時間的Python項目,在共計57個項目版本中詳細(xì)分析代碼風(fēng)格與模塊易變性、模塊易錯性的關(guān)系。在問題分析過程中,本文采用Fisher精確檢驗,Wilcoxon秩和檢驗以及Logistic回歸模型分別探究:代碼風(fēng)格的違反與模塊易變性、模塊易錯性是否相關(guān);代碼風(fēng)格的違反密度與模塊易變性、模塊易錯性是否相關(guān);特定類型的代碼風(fēng)格與模塊易變性、模塊易錯性是否更相關(guān)。實驗結(jié)果表明,1)相比于未違反代碼風(fēng)格的模塊,違反代碼風(fēng)格的模塊更容易改變;2)相比于違反代碼風(fēng)格密度小的模塊,違反代碼風(fēng)格密度大的模塊更容易改變;3)在實驗選取的部分項目中,違反特定類型代碼風(fēng)格的模塊相比于其它類型代碼風(fēng)格的模塊更容易改變;4)在代碼風(fēng)格與模塊易錯性的關(guān)系上也有類似的結(jié)論。總之,這一創(chuàng)新性的研究工作具有重要意義,不論是關(guān)注代碼風(fēng)格的研究人員,抑或是研究軟件維護(hù)領(lǐng)域的科研人員,均能夠從中得到啟示和參考。基于實驗數(shù)據(jù)得出的結(jié)論,我們建議軟件開發(fā)者應(yīng)提高對代碼風(fēng)格的關(guān)注程度,因為違反代碼風(fēng)格會降低代碼的可讀性和可理解性,進(jìn)而增加軟件維護(hù)的成本;建議軟件質(zhì)量維護(hù)者應(yīng)多加關(guān)注違反代碼風(fēng)格的模塊,從而在有限的時間和精力的情況下發(fā)現(xiàn)并解決更多問題。
[Abstract]:Code style is a set of rules or guidelines that people use when writing source code for computer programs, bringing together recognized best practices. The code written in violation of the code style is not conducive to the developers and maintainers' understanding of its function, which leads to an increase in the possibility of introducing errors, affects the readability and maintainability of the program code, and further reduces the quality of software products. The relationship between code style and software maintenance is worth further study, but there is no related work to study the influence of Python code style on software maintenance. In order to explore the relationship between Python code style violation and software maintenance scientifically and reasonably, this paper selects seven popular Python projects with 4-8 years maintenance time in open source websites by using the method of empirical research. In a total of 57 project versions, the relationship between code style and module variability and module erroriness is analyzed in detail. In the process of problem analysis, this paper uses Fisher accurate test Wilcoxon rank sum test and Logistic regression model to explore: code style violation and module variability, module error-vulnerability, code style violation density and module variability, Whether the module error-vulnerability is relevant; the specific type of code style and module variability, module error-prone is more relevant. The experimental results show that (1) compared with the module that does not violate the code style, the module that violates the code style is easier to change than the module that violates the code style.) compared with the module with less density of violating the code style, Modules that violate the code style density are easier to change in the selected items in the experiment, Modules that violate a particular type of code style are easier to change than those of other types of code styles.) A similar conclusion is reached on the relationship between code style and module erroriness. In a word, this innovative research work is of great significance, not only for the researchers who pay attention to the code style, but also for the researchers in the field of software maintenance. Based on the experimental data, we suggest that software developers should pay more attention to the code style, because violating the code style will reduce the readability and comprehensibility of the code, and then increase the cost of software maintenance. It is suggested that software quality maintainers should pay more attention to the modules that violate the code style so as to find and solve more problems with limited time and energy.
【學(xué)位授予單位】:南京大學(xué)
【學(xué)位級別】:碩士
【學(xué)位授予年份】:2017
【分類號】:TP311.53
【相似文獻(xiàn)】
相關(guān)期刊論文 前10條
1 Tim Peters;;Python之禪(英文)[J];程序員;2007年10期
2 姚競;;面向項目的“Python程序設(shè)計”教學(xué)實踐與研究[J];福建電腦;2009年07期
3 透明;;關(guān)于Python[J];程序員;2002年03期
4 王寧,汪飛星;基于Python開發(fā)氣象服務(wù)器運(yùn)行系統(tǒng)界面[J];微機(jī)發(fā)展;2003年07期
5 湯韜;;Python庫簡介[J];程序員;2006年06期
6 高昂;;Python近況全接觸[J];程序員;2009年04期
7 郭芬;劉明;;Python垃圾收集器原理研究及應(yīng)用[J];信息技術(shù);2009年07期
8 王麗;;Python的元類編程研究[J];電腦編程技巧與維護(hù);2011年06期
9 李愛寧;唐勇;孫曉輝;劉昕彤;;基于Python語言的3DES算法優(yōu)化[J];計算機(jī)系統(tǒng)應(yīng)用;2011年08期
10 曾浩;;Python在其它語言中的應(yīng)用研究[J];大眾科技;2012年07期
相關(guān)會議論文 前5條
1 ;Development of Python-based ArcGIS Tools for Spatially Balanced Forest Sampling Design[A];Information Technology and Computer Science—Proceedings of 2012 National Conference on Information Technology and Computer Science[C];2012年
2 伊鵬躍;于哲峰;汪海;;基于Abaqus/Python的三維復(fù)合材料層壓板有限元建模參數(shù)化開發(fā)[A];第17屆全國復(fù)合材料學(xué)術(shù)會議(復(fù)合材料結(jié)構(gòu)設(shè)計與性能表征分論壇)論文集[C];2012年
3 黃佳聰;高俊峰;;基于Python編程語言的空間動態(tài)模型集成[A];自然地理學(xué)與生態(tài)安全學(xué)術(shù)論文摘要集[C];2012年
4 于文麗;;基于Python的空間自相關(guān)模式研究[A];中國地理學(xué)會百年慶典學(xué)術(shù)論文摘要集[C];2009年
5 郭霞;關(guān)志東;劉遂;陳萍;劉佳;王欣晶;邱太文;;基于Python的Abaqus二次開發(fā)在層壓板修理模擬中的應(yīng)用[A];計算機(jī)輔助工程及其理論研討會2013(CAETS2013)論文集[C];2013年
相關(guān)重要報紙文章 前6條
1 高壽福;無所不能的靈蛇——Python[N];中華讀書報;2001年
2 ·特約作者 鄒肇輝;BT編程的王者[N];電腦報;2005年
3 易水;IT新詞集錦(403)[N];計算機(jī)世界;2004年
4 本報記者 蒙克;顛覆傳統(tǒng)數(shù)據(jù)庫的“玩具”[N];網(wǎng)絡(luò)世界;2009年
5 ;Ruby on Rails[N];計算機(jī)世界;2006年
6 周蓉蓉;中低端Unix直指Linux[N];計算機(jī)世界;2006年
相關(guān)碩士學(xué)位論文 前10條
1 張正陽;基于Python的戶外通訊設(shè)備連接關(guān)系的挖掘研究[D];蘇州大學(xué);2015年
2 魏武斌;基于Python的灌區(qū)水情采集系統(tǒng)開發(fā)[D];西北農(nóng)林科技大學(xué);2015年
3 趙強(qiáng);用于PCB版圖審查的Python腳本子系統(tǒng)設(shè)計與實現(xiàn)[D];西安電子科技大學(xué);2014年
4 鄺洪勝;基于Python的電商導(dǎo)購APP設(shè)計與實現(xiàn)[D];華南理工大學(xué);2015年
5 代紅震;基于STAF和Python混合編程的自動化測試系統(tǒng)的研究和實現(xiàn)[D];南京郵電大學(xué);2015年
6 劉志凱;基于Web的Python編程環(huán)境研究[D];新疆農(nóng)業(yè)大學(xué);2015年
7 周健;Python虛擬機(jī)內(nèi)存管理的研究[D];南京大學(xué);2014年
8 王衡;PaaS平臺上Python沙箱研究[D];南京大學(xué);2014年
9 王蓓蓓;Python動態(tài)特性對軟件維護(hù)的影響研究[D];南京大學(xué);2016年
10 李清言;Pyreview:一個基于抽象語法樹差異提取的Python源代碼分析工具[D];南京大學(xué);2016年
,本文編號:1891792
本文鏈接:http://sikaile.net/shoufeilunwen/xixikjs/1891792.html