1. 是否需要有**規範
對於是否需要有**規範,請考慮下列論點並反駁/支援:
這些規範都是官僚制度下產生的浪費大家的程式設計時間、影響人們開發效率, 浪費時間的東西。
我是個藝術家,手藝人,我有自己的規範和原則。
規範不能強求一律,應該允許很多例外。
我擅長制定編碼規範,你們聽我的就好了。
我不贊同以上任何乙個觀點。
相信大家在閱讀別人的**的時候,先不提每個人思維上的區別,總有那麼些時候覺得看起來彆扭,我想更多的就是由於**規範不統一所造成的,就好像一句話,每個人的語言習慣不一樣,說出來的感覺也不一樣,即使都能互相聽懂,但是還是會覺得有些不適應一樣。
那麼為什麼在有**規範的情況下仍然有這樣的問題呢,主要是,人都不是那麼願意去改變自己的,程式設計師也是人。同時,管理者對制定的規範沒有徹底執行和檢查,一方面也不能完全怪管理者,畢竟**那麼多,也不能檢查的多徹底,還是要從每個程式設計師自身開始有意識的約束才行。
有些人會認為:遵守編碼規範不能給專案帶來利益,也不能讓客戶看到我們為此付出的努力,其完全是團隊自發的行為,沒有必要做硬性的要求。還有些人有更好的理由:編碼規範會破壞創造性和程式質量。我認為,編碼規範,在軟體構件以及專案管理中,甚至是個人成長方面,都發揮著重要的作用,好的編碼規範是提高我們**質量的最有效的工具之一。
編碼規範的作用:
1.提高可讀性
2.統一全域性,促進團隊協作
3.有助於知識傳遞,加快工作交接
4.減少名字增生,降低維護成本
5.強調制數之間的關係,降低缺陷引入的機會
6.提高程式設計師的個人能力
**規範並不是乙個絕對的約束,而應該是一種習慣,乙個大家都自覺去遵守的習慣,我想這就像不應該隨地扔垃圾一樣,道理都懂,然而仍然也有很多人不能去遵守,而同樣,兩者都在向成為習慣的路上發展著。**規範在團隊合作上有著巨大的作用,可以讓團隊成員間能更快地理解彼此的**,從而能讓團隊更專注於應該解決問題,不僅緩解了工作的壓力也提高了工作的效率。
******************複查*******************
變數和常量的命名是否與約定保持一致?是
是否存在容易混淆的相似的變數和屬性名?是
變數和屬性是否書寫正確?是
非區域性變數是否能用區域性變數替換?否
變數和屬性是否被正確的初始化?不適用
所有的for迴圈的控制變數是否都在迴圈頂部被宣告?是
是否有應該命名為常量的文字常量?否
變數和屬性是否可以用常量替換?否
屬性是否可以用本地變數?否
所有的屬性是否都有正確的訪問限制符?否
方法名的描述方法是否與命名約定一致?是
每個方法的引數值在使用之前是否都作了檢查?否
對於每乙個方法,它是否都返回了正確的值?是
每乙個類是否都有正確的建構函式和析構函式?否
在子類中是否有應該放到父類中的通用成員?否
類的繼承層次是否能被簡化?否
對於每乙個陣列引用,下標值是否在定義的範圍內?是
對於物件和陣列引用,是否確定其值應為非空?否
是否存在不同型別資料之間的混合計算?是
在計算中是否存在上溢或下溢的可能?是
關於數值計算的順序和優先順序的假設是否正確?是
是否用了括號來避免模糊不清?否
對每乙個布林測試,正確條件是否被檢查?否
比較操作符是否正確?是
每個布林表示式是否都正確?是
比較操作是否存在不引人注意的***?否
對於每乙個迴圈:是否選用了最佳的迴圈結構?否
所有的迴圈是否都能結束?是
如果乙個迴圈有多個出口,是否每個出口都有必要並且得到正確處?否
switch宣告是否都有default條件?是
是否所有的case-switch-break對應關係都已更正並加上批註?否
迴圈和分支的巢狀是否過深?是否正確?是
是否有if巢狀可以轉換程switch巢狀?是
空控制敘述是否都正確,並加上括號及批註?否
所有的異常是否都得到了正確的處理?否
每乙個方法是否都結束?是
檔案在被使用之前是否都被開啟?是
輸入物件的屬性是否與使用的檔案一致?是
檔案在被使用之後是否都被關閉?是
文字中是否有拼寫和語法上的錯誤?否
所有的i/o異常處理的是否合理?否
方法呼叫的引數的數量,順序,型別和值是否與該方法宣告一致?是
如果物件或陣列被傳遞,它們是否改變?是否被呼叫方法正確改變?是
每乙個方法,類和檔案是否都有適當的頭注釋?否
每乙個屬性,變數和常量的宣告是否都有注釋?否
每個類和方法的潛在行為是否都有用簡易的語言進行解釋?否
方法和類的頭注釋是否和它們的功能保持一致?是
注釋和**是否保持一致?是
注釋對於理解**是否有幫助?是
**中的注釋是否充分?否
**中的注釋是否過多?否
個人作業 Week2
第一部分 微軟必應詞典客戶端的bug 2 我在使用微軟必應詞典的設定功能時候,在設定語言為英文之後,介面上的語言仍為中文,即使關閉後再開啟也會如此。採訪提要 1 採訪物件的背景和需求 採訪物件平日裡十分喜愛看美劇,但是在美劇中只通過看字幕有時是不能體會到劇中人物的感情的,只有在英語口語和聽力均訓練到...
個人作業 week2
設計是否有周全的考慮?可讀性如何?容易維護麼?的每一行都執行並檢查過了嗎?有沒有硬編碼或字串 數字的存在?有沒有以來某一平台,是否會影響將來的移植?開發者新寫的 能否用已有的library sdk framework中的功能實現?在本專案中是否存在類似的功能可以呼叫而不用全部重新實現?有沒有無用的 ...
Week2 作業1 閱讀與部落格
week2 作業 1 閱讀與部落格 第一章 概論 1.原文如下 移山公司程式設計師阿超的寶貝兒子上了小學二年級,老師讓家長每天出30道加減法題目給孩子做。阿超想寫乙個小程式來做這件事,具體實現可以採用很多語言和工具 page16 1.1我的提問 我能不能自己動手,按照自己的想法大致寫乙個初步的出題小...