麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

寫出優(yōu)雅簡(jiǎn)明代碼的論題集 -- Csharp(C#)篇[2]

2019-11-17 03:35:19
字體:
供稿:網(wǎng)友

謝謝大家對(duì)本系列第一篇寫出優(yōu)雅簡(jiǎn)明代碼的論題集 -- Csharp(C#)篇[1]的回復(fù)和討論,我相信針鋒相對(duì)的辯論不僅有助于發(fā)現(xiàn)答案,更讓我們了解問題后面的實(shí)質(zhì)。

對(duì)程序員而言,我們的代碼需要:

1. 在預(yù)算內(nèi)實(shí)現(xiàn)需求,讓用戶可以使用 -- 讓自己或者公司可以賺到錢

2. 方便自己修改及日后維護(hù)

3. 方便別人修改及日后維護(hù)

4. 便于重復(fù)使用,為以后的開發(fā)節(jié)省時(shí)間

5. 讓系統(tǒng)高效的運(yùn)作

從美國(guó)商學(xué)院畢業(yè)的學(xué)生們掌握了很多相似的思維模式,這不僅有利于他們解決問題,更重要的是方便他們彼此之間溝通。-- 換句話說,他們畢業(yè)后都安裝上了相同的協(xié)議和一些可通用的接口,這樣有一個(gè)基礎(chǔ)平臺(tái)可以讓他們協(xié)同工作。

論題七:命名規(guī)范
也許有人認(rèn)為沒有必要再提這個(gè)問題,但在日常編碼生活中,這的確是一個(gè)很重要的話題。

7.1  類名、方法、常數(shù)使用Pascal casing

 public class MyClass
{
    const int DefaultNumber = 100;
    public void MyMethod()
    { }
}
7.2 局部變量,參數(shù)用camel casing

 
             partial void OnContactIdChanging(int value)
            {
                int number;

            }
 
7.3 interface 名字以I 開頭

7.4 盡量不用單個(gè)字符命名變量,象 i 或者 t 。使用 index 或者 temp 之類代替。

7.5 將所有來自framework 的 namespace 放在前面,而后再放第三方或自定義的: 

 using System;
using System.Linq;
using System.Data.Linq;
using System.Collections.Generic;
using System.Text;
using System.ComponentModel.DataAnnotations;
using CodeSmith.Data.Attributes;
using CodeSmith.Data.Rules;
 
論題八: 一個(gè)方法的參數(shù)不能超過5個(gè),當(dāng)多于5個(gè)時(shí),應(yīng)進(jìn)行函數(shù)的拆分或者參數(shù)的封裝。-- 嚯嚯就像論題一樣的規(guī)定
一些說明:不是為了給自己一個(gè)緊箍咒,而是在日常編程中,我們發(fā)現(xiàn)如果你寫的方法不滿足這樣一個(gè)條件,一年后,就算是你自己也不太想去維護(hù)和修改,如果換成是其他程序員會(huì)對(duì)此更加的頭痛,對(duì)嗎?

論題九: 不要濫用注釋,有些非常清晰明確的代碼不需要注釋
僅在必要的時(shí)候注釋你的代碼,不要太多,并且注釋也要簡(jiǎn)單給力。

論題十: 不要把數(shù)值hard-code在代碼中,使用const 來定義
論題十一: 不要使用””, 使用string.Empty
正確的:

 string name = string.Empty;
不建議:

 string name = "";
論題十二: 善于合并if
觀察下面這段可愛的代碼:


View Code
public bool Equals(CommentData obj) {      if (!CommentId.Equals(obj.CommentId)) return false;      if (!Comment.Equals(obj.Comment)) return false;      if (!CommentorId.Equals(obj.CommentorId)) return false;      return true;    }
如果我們寫成這樣會(huì)不會(huì)好些呢:

View Code
public bool Equals(CommentData obj) {      return CommentId == obj.CommentId &&             Comment.Equals(obj.Comment) &&             CommentorId == obj.CommentorId;    }

觀察下面這段可愛的代碼:

 
 public bool Equals(CommentData obj) {
      if (!CommentId.Equals(obj.CommentId)) return false;
      if (!Comment.Equals(obj.Comment)) return false;
      if (!CommentorId.Equals(obj.CommentorId)) return false;
      return true;
    }如果我們寫成這樣會(huì)不會(huì)好些呢:  public bool Equals(CommentData obj) {
      return CommentId == obj.CommentId &&
             Comment.Equals(obj.Comment) &&
             CommentorId == obj.CommentorId;
    }

 論題十三: 不斷重構(gòu)你的代碼
當(dāng)有新的需求或新改動(dòng)的時(shí)候,可以撥一些時(shí)間來重構(gòu)。 -- 你可能突然發(fā)現(xiàn),原來重構(gòu)后的代碼可以如此美麗。使用一些重構(gòu)的插件,比如resharper可以使你事半功倍。

 當(dāng)有新的需求或新改動(dòng)的時(shí)候,可以撥一些時(shí)間來重構(gòu)。 -- 你可能突然發(fā)現(xiàn),原來重構(gòu)后的代碼可以如此美麗。使用一些重構(gòu)的插件,比如resharper可以使你事半功倍。

未完待繼…


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: av成人在线免费观看 | 日本综合久久 | 欧美精品成人一区二区在线观看 | 国产成视频在线观看 | 亚洲一区二区三区视频免费 | 法国性hdfreexxxx人妖 | 国产一级毛片高清视频 | 极品销魂一区二区三区 | 在线播放黄色网址 | 亚洲国产美女视频 | h网站在线观看 | 蜜桃视频在线免费播放 | 久久久久久久久浪潮精品 | 欧洲a级片| 亚洲影视中文字幕 | 综合网天天色 | 久久久免费电影 | 欧美精品一区二区三区四区 | 色视频一区二区 | 欧美成人精品不卡视频在线观看 | 久久伊人精品视频 | 爱性久久久久久久 | 91麻豆精品国产91久久久更新资源速度超快 | 欧美一区二区黄色 | 久久久麻豆 | 国产免费久久久久 | 日本中文字幕电影在线观看 | 黄色片网站在线看 | 久久另类视频 | 亚洲电影在线观看高清免费 | 最新福利在线 | 国产午夜精品一区二区三区在线观看 | 国产亚洲网 | 久久久青 | 91 在线观看| 在线免费观看毛片视频 | 中国洗澡偷拍在线播放 | 在线日韩亚洲 | 免费a级毛片永久免费 | 成av在线 | 永久av在线免费观看 |