天天看點

C語言中使用大括号與給函數命名的正确方法(轉載)

使用大括号的正确方法:

在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(初始化磁盤)

使用動詞一名詞規則(特别是在英語國家)能有效地加強程式的可讀性,并且使程式看起來更熟悉。

繼續閱讀