養成良好編碼風格的重要性

2021-09-06 08:23:03 字數 1350 閱讀 2776

在編寫**時,養成良好的**風格,提高**質量,可以避免很多漏洞,為**的維護和擴充套件提高效率。下面以實際工作中遇到的不良編碼風格引出的問題為例,說明良好**風格的作用:

if語句、for語句不管有沒有多個語句,一定要使用花括號括起來。下面的這個例子就是因為if語句的body部分存在多個語句,但是沒有採用花括號包含在一起,引出的問題:當rn->vinfo0位null時,route就會使用上一次的值給entry變數賦值,從而導致資料異常,嚴重的話會導致程序掛起。

沒有使用花括號導致的bug

modify before:

for (rn = ls_table_top (top->rt_network); rn; rn = ls_route_next (rn))

else

/* get the actual nexthop vector. */

vec = ospf_path_nexthop_vector (route->selected);

for (i = 0; i < vector_max (vec); i++)}}

vector_free (vec);

}}modify after:

for (rn = ls_table_top (top->rt_network); rn; rn = ls_route_next (rn))

else

/* get the actual nexthop vector. */

vec = ospf_path_nexthop_vector (route->selected);

for (i = 0; i < vector_max (vec); i++)}}

vector_free (vec);

}}

}

2. 定義全域性變數最好要進行初始化。消除程式執行過程中的不確定性。出現問題不好定位,確保可控。

3. 執行緒任務函式不要使用return,會導致執行緒退出。

static int fd = open("/dev/test", o_wronly, 0777);

int recv_task(void)

; uint8 framebuf[socket_buf_size] = ;

int32 irecvlen = 0;

uint16 udatalen = 0;

while(1)

/*設定socket fd 為非阻塞模式*/

iret = fcntl(fd, f_setfl, iflags | o_nonblock);

if(0 > iret)

while(1)

}return ok;

}

程式設計風格的重要性

前幾天在tctop中看到july整理的google迷你版程式設計規範,有一點看後覺得實在是非常受用,為此特意寫了乙個程式來進一步說明。如下 include include using namespace boost using namespace std class a void foo a int...

養成備份的習慣的重要性

比如電腦中毒 丟了 畢業證學位證丟了 四六級證書丟了等等。其實很多人哪怕提到養成備份的習慣,卻總是不重視,也許備份很多次沒有 用到 但是用到那一次可能是節省超多的時間。比如研究生導師突然要幾個月之前你給她做的ppt或者檔案,然後你丟了,讓你重做。再比如 寫到一半了,後面換了思路,後來發現之前寫的是對...

規範編碼的重要性

頁面中有乙個store如下 ext grid用來獲取並處理資料的控制項 在呼叫unitstore的load 方法進行重新整理時,控制台有時會顯示頁面跳轉到了乙個在此js中不存在的url中去 當然有時也可以成功重新整理 自己排查了此js頁面確實不存在這個url後,感到有些不知所措。分析 由於jsp頁面...