使用大括号的正确方法:
在C中,使用大括号的方法無所謂對還是錯——隻要每個開括号後都有一個閉括号,你的程式中就不再會出現與大括号有關的問題。然而,有三種著名的大括号格式經常被使用:
Kernighan和Ritchie,Allman,Whitesmiths。下文中将讨論這三種格式。
在《C程式設計語言(The C Programming Language)》一書中,Brian Kernighan和Dennis Ritchie介紹了他們所使用的大括号格式,這種格式如下所示:
if (argc<3) {
printf (" Error! Not enough arguments. Correct usage is ..\n" ) ;
printf("c:>eopyfile <source_file> <destination_file>\n") ;
exit (1) ;
}
else {
open_files () ;
while (! feof(infile)) {
read_data ( ) ;
write_data() ;
}
close files() ;
注意,在Kb&R格式中,開括号總是與使用它的語句在同一行上,而閉括号總是在它所關閉的語句的下一行上,并且與該語句對齊。例如,在上例中,if語句的開括号和它在同一行上,|f語句的閉括号在它的下一行上,并且與它對齊。在與if語句對應的else條件語句以及出現在程式段後部的while語句中,情況也是這樣的。
下面是用Allman格式書寫的同一個例子:
if (argc<3)
{
printf("Error! Not enough arguments. Correct usage is :\n" ) ;
printf("C:>copyfile <source_file> <destination_file>\n") ;
exit(1);
else
open_files ( );
while (! feof(infile))
{
write data();
close_files() ;
注意,在Allman格式中,每個大括号都單獨成行,并且開括号和閉括号都與使用它們的語句對齊。
下面是用Whitesmiths格式書寫的同一個例子:
{
printf("Error! Not enough arguments, Correct usage is :\n" );
printf ("C :> copyfile<source_file><destination_file>\n." ) ;
open files () ;
{
read_data() ;
}
close files () ;
與Allman格式相同,Whitesmiths格式也要求大括号單獨成行,但是它們要和它們所包含的語句對齊。例如,在上例中,if語句的開括号是與第一個printf()函數調用對齊的。
不管你使用哪一種格式,一定要保持前後一緻——這将有助于你自己或其它人更友善地讀你的程式。
給函數命名的正确方法:
函數名一般應該以一個動詞開始,以一個名詞結束,這種方法符合英語的一般規則。下面列出了幾個命名比較合适的函數:
PrintReports();
SpawnUtilityProgram();
ExitSystem();
Initia|izeDisk():
請注意,在這些例子中,函數名都以一個動詞開始,以一個名詞結束。如果按英語習慣來讀這些函數名,你會發現它們其實就是:
print the reports(列印報告)
spawn the utility program(生成實用程式)
exit the system(退出系統)
initialize the disk(初始化磁盤)
使用動詞一名詞規則(特别是在英語國家)能有效地加強程式的可讀性,并且使程式看起來更熟悉。