国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

代碼可讀性藝術(shù)在Andorid中的體現(xiàn)

這篇具有很好參考價(jià)值的文章主要介紹了代碼可讀性藝術(shù)在Andorid中的體現(xiàn)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

  • 前言

最近接手的一些項(xiàng)目,不同的人編碼風(fēng)格迥異,類里的變量、方法的定義穿插,注釋極為稀少,更有一些變量和方法的命名非常近似,例如表示播放隊(duì)列的"playQueue"和表示歌單的"playList",wtf?

這不是一個(gè)意思嗎?一些回調(diào)的時(shí)機(jī)也不能直觀的看出來(lái),通常需要debug調(diào)試多次;multi project之間值的傳遞、廣播跨進(jìn)程的發(fā)送、服務(wù)的開(kāi)啟和綁定,一句注釋都沒(méi)有,不知道過(guò)了這么久,

這些代碼的同事,還能很快看懂自己寫的東西嗎?這簡(jiǎn)直讓人抓狂啊,于是乎,寫下此篇博客,吐槽別人的同時(shí),更要引以為鑒,通過(guò)一些實(shí)際而有效的方法讓自己代碼更具可讀性.

  • 代碼中行而有效的幾點(diǎn)
  1. 放置常量與變量的排位順序
    • 第一層放置順序的規(guī)則:
      常量->變量->接口->內(nèi)部類.
    • 第二層,各個(gè)類型內(nèi)部又區(qū)分為:
      靜態(tài)static->非靜態(tài)
    • 第三層,最后的一個(gè)排位規(guī)則:訪問(wèn)權(quán)限
      private私有->包訪問(wèn)(前無(wú)修飾符)->protected->public

依據(jù)這個(gè)規(guī)則,總結(jié)如下: 類中定義變量的先后順序

                private static final int->String 私有常量String型

                static final int->String 包與protected常訪問(wèn)權(quán)限常量

                public static final int->String公共常量

                private static int->String 私有靜態(tài)變量

                static int->String 包與protected常訪問(wèn)權(quán)限靜態(tài)變量

                public static int->String公共靜態(tài)變量

                private int->Stirng;普通私有變量

                protect子類訪問(wèn)權(quán)限->public int&String 普通公共變量

                接口:private static ->普通接口

                內(nèi)部類:private static ->普通內(nèi)部類

  2.常量&變量命令規(guī)則  

  • 以**static fina**l修飾的常量字母全都為大寫,單詞之間用_下劃線隔開(kāi),如RESULT_CANCELED。
  • 靜態(tài)變量前用小寫字母”s”表示,后接單詞的首字母大寫,如sActivity
  • 除靜態(tài)變量的其它所有變量前都用小寫字母”m”表示,后接單詞的首字母大寫,如 private Window mWindow
  • 一般都是用類名前加”s”或者”m”來(lái)命名一個(gè)類對(duì)象變量

  3.方法命名規(guī)則  

  • 采用小駝峰命名法,首單詞小寫,第二個(gè)單詞首字母大寫,如getActivityToken()
  • 方法名的第一個(gè)字母一般都為動(dòng)詞
  • 常用的get,set來(lái)表示取得與設(shè)置;save保存
  • on用以當(dāng)什么發(fā)生的時(shí)候,生命周期都是以on開(kāi)頭;
  • requse**t請(qǐng)求,如請(qǐng)求權(quán)限;**add添加;enter進(jìn)入
  • open開(kāi)啟對(duì)話框之類;close關(guān)閉;cancle取消;show顯示,dismiss隱藏
  • start啟動(dòng)如activity;stop停止如stop service;init初始化
  • 如果方法的返回值為boolean,一般命令為isMn()或者hasMn()
  • 其它boolean值的返回動(dòng)詞有should,can

  4.MultiProject中注明跳轉(zhuǎn)到哪里

  一般地,Andorid中界面的跳轉(zhuǎn)、廣播的發(fā)送、服務(wù)的開(kāi)始和綁定,都是與Intent意圖相關(guān);Intent又分為顯示意圖和隱式意圖,顯示意圖需顯示的設(shè)置好當(dāng)前類要跳轉(zhuǎn)到哪個(gè)包名下的那個(gè)類(這種跳轉(zhuǎn)通常都不是

跨進(jìn)程的),而一些進(jìn)程間的跳轉(zhuǎn),系統(tǒng)服務(wù)的開(kāi)啟都是需要隱式跳轉(zhuǎn)的,隱式跳轉(zhuǎn)是根據(jù)要跳轉(zhuǎn)類中定義的action和跳轉(zhuǎn)到組件的action(清單文件中定義的節(jié)點(diǎn)信息)是否一致;通常你并不知道需要跳轉(zhuǎn)到哪里;

因此,有兩點(diǎn)是需要注意的:①action盡量定義得與跳轉(zhuǎn)目標(biāo)類相關(guān),且是唯一的②要求加上明確的注釋信息,跳轉(zhuǎn)到的包名、類名、用途

  5.代碼中一些暫時(shí)的解決辦法需注明TODO注釋

  IDE工具一般對(duì)TODO注釋功能有很好的支持,可以顯示和定位所有注釋中出現(xiàn)的TODO關(guān)鍵字;往往一些不靠譜的解決辦法或途徑都是導(dǎo)致某個(gè)bug的隱藏因素;提前注明此為臨時(shí)的解決辦法,可能導(dǎo)致什么后果,計(jì)劃后面什么時(shí)候再修,可以給后期維護(hù)和調(diào)試帶來(lái)很大的便利,這一點(diǎn)其實(shí)及其重要,因此決定單獨(dú)拿出來(lái)寫一下

  • 小結(jié)

  暫時(shí)想到的就是這些了,后面遇到更坑,更讓我頭疼的代碼,再來(lái)補(bǔ)充...附上找到的 常見(jiàn)控件縮寫和常用英文單詞的縮寫規(guī)范表

  

附錄:

表1 UI控件縮寫表

控件 縮寫 例子
LinearLayout ll llFriend或者mFriendLL
RelativeLayout rl rlMessage或mMessageRL
FrameLayout fl flCart或mCartFL
TableLayout tl tlTab或mTabTL
Button btn btnHome或mHomeBtn
ImageButton ibtn btnPlay或mPlayIBtn
TextView tv tvName或mNameTV
EditText et etName或mNameET
ListView lv lvCart或mCartLV
ImageView iv ivHead或mHeadIV
GridView gv gvPhoto或mPhotoGV

表2 常見(jiàn)的英文單詞縮寫:

名稱 縮寫
icon ic (主要用在app的圖標(biāo))
color cl(主要用于顏色值)
divider di(主要用于分隔線,不僅包括Listview中的divider,還包括普通布局中的線)
selector sl(主要用于某一view多種狀態(tài),不僅包括Listview中的selector,還包括按鈕的selector)
average avg
background bg(主要用于布局和子布局的背景)
buffer buf
control ctrl
delete del
document doc
error err
escape esc
increment inc
infomation info
initial init
image img
Internationalization I18N
length len
library lib
message msg
password pwd
position pos
server srv
string str
temp tmp
window wnd(win)

注:程序中使用單詞縮寫原則:不要用縮寫,除非該縮寫是約定俗成的。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-438320.html

到了這里,關(guān)于代碼可讀性藝術(shù)在Andorid中的體現(xiàn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 提高代碼可讀性和可維護(hù)性的命名建議

    當(dāng)進(jìn)行接口自動(dòng)化測(cè)試時(shí),良好的命名可以提高代碼的可讀性和可維護(hù)性。以下是一些常用的命名建議: 變量和函數(shù)命名: 使用具有描述性的名稱,清晰地表達(dá)變量或函數(shù)的用途和含義。 使用小寫字母和下劃線來(lái)分隔單詞,例如? login_url 、 send_request 。 避免使用單個(gè)字符或

    2024年02月10日
    瀏覽(45)
  • 50個(gè)簡(jiǎn)潔的提示提高代碼可讀性和效率(0-10)

    這篇文章整理了50個(gè)簡(jiǎn)潔的提示,可以提高您的代碼可讀性和效率。這些提示來(lái)自個(gè)人項(xiàng)目、徹底的代碼審查和與資深開(kāi)發(fā)人員的啟發(fā)性討論。 無(wú)論您是新手還是經(jīng)驗(yàn)豐富的開(kāi)發(fā)人員,這篇文章都應(yīng)該能夠幫助您學(xué)到一些東西。 這個(gè)列表包括常見(jiàn)的Python模式、核心概念和最佳

    2024年02月10日
    瀏覽(19)
  • 編寫魅力十足的代碼:優(yōu)化可讀性、維護(hù)性和性能的關(guān)鍵

    本篇匯總了平時(shí)在工作開(kāi)發(fā)中常遇到的業(yè)務(wù)邏輯的優(yōu)雅寫法,也匯總了自己還是新人時(shí),拿到一個(gè)業(yè)務(wù)不知道怎么下手的痛點(diǎn),依稀記得那時(shí)候總感覺(jué)自己寫的代碼不規(guī)范。 寫完之后,感覺(jué)還是美好的,又學(xué)到東西了。 采用簡(jiǎn)潔的語(yǔ)法和結(jié)構(gòu),遵循一致的命名規(guī)范,具有良

    2024年02月10日
    瀏覽(22)
  • 炫技亮點(diǎn) 使用Optional類優(yōu)化代碼,提升可讀性和簡(jiǎn)化空值處理

    在日常的軟件開(kāi)發(fā)中,我們經(jīng)常需要處理可能為空的值,例如 從數(shù)據(jù)庫(kù)查詢數(shù)據(jù) 、 調(diào)用外部接口獲取數(shù)據(jù) 、 從配置文件讀取配置項(xiàng) 等。傳統(tǒng)的處理方式往往需要使用 繁瑣的空值判斷和異常處理 代碼,使得代碼變得冗長(zhǎng)和難以理解。為了解決這個(gè)問(wèn)題,Java 8 引入了 Optio

    2024年02月13日
    瀏覽(39)
  • 如何修改min.js或者壓縮后的js,以便提高代碼的可讀性。

    前端的js上線的時(shí)候一般會(huì)使用打包工具處理(webpack,gulp,ugly.js 等)。這樣做有幾點(diǎn)作用。 可以壓縮空間,提高頁(yè)面響應(yīng)速度 一定程度上可以保護(hù)自己的代碼安全,防止別人清晰看懂邏輯或者拷貝代碼。 提高別人閱讀自己代碼的門檻 可前端開(kāi)發(fā)工作中多多少少,會(huì)需要看

    2024年02月11日
    瀏覽(18)
  • chatgpt賦能python:Python如何分行——提高代碼可讀性和效率的必備技能

    分行,即將一行長(zhǎng)代碼分為多行,使得代碼更加易讀、易維護(hù)、易修改。 Python作為一門高級(jí)編程語(yǔ)言,具有簡(jiǎn)潔、易讀、高效的特點(diǎn)。但在實(shí)際編程過(guò)程中,難免會(huì)遇到較長(zhǎng)的代碼行,導(dǎo)致代碼可讀性下降,不利于程序員的開(kāi)發(fā)和維護(hù)。因此,Python中分行技術(shù)就顯得尤為重要

    2024年02月08日
    瀏覽(33)
  • 【Spring MVC】獲取 @RequsetBody 標(biāo)識(shí)的對(duì)象,使用適配器模式增加代碼可讀性

    【Spring MVC】獲取 @RequsetBody 標(biāo)識(shí)的對(duì)象,使用適配器模式增加代碼可讀性

    一個(gè)技術(shù)需求引發(fā)的思考和實(shí)踐: 思考 用 AOP 把校驗(yàn)代碼 實(shí)踐 用 Spring MVC 的 RequestBodyAdvice 做AOP邏輯 繼承 RequestBodyAdviceAdapter 實(shí)現(xiàn)自己的 適配器 用自己的適配器讓代碼可讀性增加 熟悉 Spring MVC 、Java 反射的一些實(shí)踐 本文內(nèi)容 澄清一個(gè)AOP校驗(yàn)JSON內(nèi)容的思路 復(fù)習(xí)適配器模式

    2024年02月10日
    瀏覽(24)
  • chatgpt賦能python:Python分組:組織你的代碼,提升可讀性和可維護(hù)性

    chatgpt賦能python:Python分組:組織你的代碼,提升可讀性和可維護(hù)性

    在編寫代碼時(shí),組織良好的代碼結(jié)構(gòu)和架構(gòu)是非常重要的。對(duì)于大規(guī)模的項(xiàng)目,特別是多人合作開(kāi)發(fā)的項(xiàng)目來(lái)說(shuō),代碼管理和組織是至關(guān)重要的。Python 分組是一種常用的技術(shù),可以幫助我們組織代碼并提高代碼的可讀性和可維護(hù)性。 Python 分組指的是將一段代碼按照一定的邏

    2024年02月06日
    瀏覽(25)
  • 編程界的“魔術(shù)師”:Python中的一行代碼藝術(shù)

    標(biāo)題: “成為編程界的“魔術(shù)師”:Python中的一行代碼藝術(shù)” 編程的世界中,有一種被稱為“一行代碼魔術(shù)師”的存在。他們擅長(zhǎng)用簡(jiǎn)潔、精煉的代碼實(shí)現(xiàn)復(fù)雜的功能,就像變魔術(shù)一樣令人驚嘆。 Python作為一種高級(jí)編程語(yǔ)言,其簡(jiǎn)潔明了的語(yǔ)法使得它成為“一行代碼魔術(shù)師

    2024年02月03日
    瀏覽(19)
  • 【Python】【編程技巧】給切片命名,使代碼清晰可讀

    使用內(nèi)置的 slice 函數(shù)創(chuàng)建切片,而不是硬編碼下標(biāo),從而增強(qiáng)代碼可讀性,例如: https://python3-cookbook.readthedocs.io/zh_CN/latest/c01/p11_naming_slice.html

    2024年02月10日
    瀏覽(28)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包