今天其實(shí)算一個(gè)小專欄(內(nèi)容參考《代碼大全2》)明天開(kāi)始更新具體的算法,這些算法我都會(huì)從力扣上找,語(yǔ)言的話暫時(shí)是c和c++還有c#的寫(xiě)法(不要過(guò)于專注于編程語(yǔ)言,語(yǔ)言只是工具,關(guān)鍵在于學(xué)習(xí)思維)
一、高質(zhì)量子函數(shù)
1.要有正當(dāng)理由
我們創(chuàng)建子程序的目的,就是讓主函數(shù)盡量簡(jiǎn)潔,復(fù)雜的部分放到子函數(shù)或者是一些需要反復(fù)調(diào)用的模塊
只有針對(duì)以上的兩種情況時(shí),我們才會(huì)構(gòu)造子函數(shù),對(duì)于過(guò)于簡(jiǎn)單而且調(diào)用較少的部分,就完全沒(méi)有必要了
所以創(chuàng)建子函數(shù)要有正當(dāng)理由
2.要有好的名字
什么是好名字
假如有一個(gè)函數(shù)命名為abc(),你覺(jué)得這個(gè)函數(shù)要實(shí)現(xiàn)的功能是什么呢?
只有讓人一目了然,能夠清晰的知道這個(gè)函數(shù)是要干什么,有什么作用比方說(shuō):add()函數(shù),一眼就知道這個(gè)是用來(lái)添加的(對(duì)于復(fù)雜程序可以加入一些賓語(yǔ)來(lái)讓函數(shù)名更加清晰 例如numadd)
3.要有合適長(zhǎng)度
這個(gè)長(zhǎng)度是指,子函數(shù)命名不要過(guò)于繁瑣,可以適當(dāng)擴(kuò)充使函數(shù)作用清晰的核心,永遠(yuǎn)是適當(dāng)。如果太長(zhǎng)不僅容易讓自己記混而且讓可讀性也受制
二、變量名的注意事項(xiàng)
1.命名
為變量命名時(shí)最重要的考慮事項(xiàng)是,該名字要完全、準(zhǔn)確地描述出該變量所代表的事物。
如果要表示當(dāng)前利率的變量最好命名為 rate或 interestRate,而不是簡(jiǎn)單的r或x。甚至是a、b、c
2.縮短變量的存活時(shí)間
如果該變量在第1行被第一次引用,在第25行被最后一次引用,那么它的存活時(shí)間就是25條語(yǔ)句。
縮短變量存活時(shí)間的個(gè)好處是使你能對(duì)自己的代碼有更準(zhǔn)確的認(rèn)識(shí)。
打個(gè)比方:如果一個(gè)變量在第10行賦值,卻要到第45行才再次使用它,那么于這兩個(gè)引用點(diǎn)之間的那一長(zhǎng)段距離就暗示說(shuō)該變量在第10行到第45行的范圍內(nèi)一直在使用。如果該變量是在第44行賦值,在第45行使用,那么不會(huì)有任何有關(guān)該變量使用的暗示產(chǎn)生,你在思考這個(gè)變量的時(shí)候也就能集中于更小范圍的代碼了。
三、進(jìn)行合理的縮進(jìn)處理
如果缺少了適當(dāng)?shù)目s進(jìn),對(duì)于下面代碼而言
# include<stdio.h> int main() { int n, i, j; printf("請(qǐng)輸入正方形的邊長(zhǎng):\n"); scanf("%d",&n); for(i = 1;i<=n;i++){ for(j = 1;j<=n;j++){ if(i == 1||i == n) {printf("* "); } else{ if(j == 1 || j == n) {printf("* ");} else{ printf(" ");}}} printf("\n");} return 0;}
很難想象下面的代碼和上面的是同一個(gè)
# include<stdio.h>
int main()
{
int n, i, j;
printf("請(qǐng)輸入正方形的邊長(zhǎng):\n");
scanf("%d",&n);
for(i = 1;i<=n;i++)
{
for(j = 1;j<=n;j++)
{
if(i == 1||i == n)
{
printf("* ");
}
else
{
if(j == 1 || j == n)
{
printf("* ");
}
else
{
printf(" ");
}
}
}
printf("\n");
}
return 0;
}
-
對(duì)于內(nèi)部的嵌套盡量放到下一級(jí)(擴(kuò)大縮進(jìn))
-
對(duì)于不同的部分要有合適的留白行來(lái)進(jìn)行區(qū)分文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-806550.html
END文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-806550.html
到了這里,關(guān)于算法——讓你的代碼更具有可讀性的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!