新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 成功軟件開發(fā)者的9種編程習(xí)慣

成功軟件開發(fā)者的9種編程習(xí)慣

作者: 時(shí)間:2012-07-06 來源:網(wǎng)絡(luò) 收藏

筆者是喜歡第二種方式。因?yàn)橐欢握Z句的開始和結(jié)束很明顯。我們不能要求每個(gè)程序員都用某一種方式來編程,但一個(gè)程序里一定要統(tǒng)一。還有,看別人編的程序時(shí)要想到他人編程的習(xí)慣也許與你不同。

4. 不亂用if語句

有些人很喜歡用“if”語句,如下:

if(a == 0)
{
  a++;
  return(a);
}

if(a == 1)
{
  a += 5;
  return(a);
}

if(a == 2)
{
  a += 10;
  return(a);
}

if(a == 3)
{
  a += 20;
  return(a);
}

if(a == 4)
  exit(1);

有沒有比這更好的辦法呢?else if語句?不是。好的方法是用“switch-case”語句來寫簡(jiǎn)便的程序:

switch(a)
{
  case 0: a++;
    return(a);

  case 1: a += 5;
    return(a);

  case 2: a += 10;
    return(a);

  case 3: a += 20;
    return(a);

  default: exit(1);
}

如果沒有與a一致的值,會(huì)執(zhí)行default里定義的作業(yè),上面的例子是要執(zhí)行結(jié)束。

5. 不亂用程序切斷(Block)

很多人經(jīng)常亂用程序切斷。使用三個(gè)以上的切斷是比較難以看懂的程序。請(qǐng)看下面例子:

int a = 10;
int b = 20;
int c = 30;
int d = 40;

if(a == 10)
{
  a = a + d;
  if(b == 20)
  {
    b = b + a;
    if(c != b)
    {
      c = c + 1;
      if(d > (a + b))
        printf("Made it all the way to the bottom!n");
    }
  }
}

這也許是夸張了,但確實(shí)有很多人真的這樣做。那如何寫得更好一點(diǎn)呢?一種方法是用函數(shù)來分寫:

void next(int a, int b, int c, int d)
{
  if(c != b)
  {
    c = c + 1;
    if(d > (a + b))
      printf("Made it all the way to the bottom!n");
  }
}

int main()
{
  int a = 10;
  int b = 20;
  int c = 30;
  int d = 40;

  if(a == 10)
  {
    a = a + d;
    if(b == 20)
    {
      b = b + a;
      next(a, b, c, d);
    }
  }
return(0);
}

要這樣寫,也許會(huì)增加工作量,但程序編得結(jié)構(gòu)化,容易看懂,而且如果函數(shù)做得更好,也可以在其他地方再使用。

6. 寫好注釋

要養(yǎng)成寫注釋的習(xí)慣。特別是別人難以理解的程序或變量一定要注釋,一個(gè)月后,也許你自己也需要看那注釋呢。

int x = 100;
int y = 1000;

if(x y)
  a = 0;
else
  a = 1;

你能知道上面的程序意味著什么?如果不知道變量x,y和a指的是什么,那么很難理解。讓我們給它標(biāo)個(gè)注釋再看吧:

/*
* 檢測(cè)損益的程序
*/

int x = 100;
/* x 是賣書的總額*/
int y = 1000
/* y是做書本的費(fèi)用*/
int a;
/* 確認(rèn)是否有贏利*/

/* 比較x和y: */
if(x y)
/* 1指損失 */
  a = 1;
else
/*0指贏利 */
  a = 0;



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉