zoukankan      html  css  js  c++  java
  • 如何写优雅的代码

    好代码和坏代码

    无论从写代码的年限或能力来说,我资历并不深。我也没有能力去说教别人。但是,对于代码的好坏,我们应该有一个清晰的标准(对自己的标准)。我在项目中,曾经被我的室友吐槽,代码写的像一坨屎!我当时很不屑,还和室友对骂一通。不过好在经过时间的洗礼,回头看看自己曾经写的代码,还真特么写的太丑陋了,到处都是不好征兆。到处散发着代码的坏味道;

    比如说:

    • 命名不规范
    • 过长函数
    • 过长的参数列
    • 重复的代码
    • 数据泥团

    详见 Martin Fowler 的重构

    如何写好代码

    首先,对自己有一些严格的标准和要求。例如:

    1. 代码是写给自己和别人看的:对于同一个功能实现有很多种方法,不管怎么写代码,代码最终都会编译成二进制,程序都会正常运行;但是有一点我们应该时刻记着。代码应该保持清晰的结构,这样对于后期的维护代码很大的便捷性。假如有一天回头要修改代码,别人和你都感谢你!
    2. 建立良好的编码命名规范:有人可能说,我们公司小,我们不需要规范;我们项目小,时间太赶我们不需要规范。但是请你记着,那样的代码就像定时炸弹,以后的维护成本会很高。我想说,放下借口,每个人都应该有一套自己的编码规范或者团队的编码规范。这样对你的程序之路会越走越好!
    3. 学会不间断的重构:重构一种提高代码水平捷径。可以参考Martin Fowler 的《重构-改善既有代码的设计》这本书。

    C#编码规范

    我是一个.net开发者。所以就说说C#编程的命名规范;一般都采取骆驼命名法。

    例如:myData是一个它第一个单词的第一个字母小写,后面的单词首字母大写,看起来像一个骆驼。

    • 命名空间:[公司名].[模块名] 如:iHealthwoo.Resource这样的命名方式;
    • 类名:MyClass 取每个单词首字母大写;
    • 方法名:动词+名词。如GetName() 采取首字母大写;
    • 私有变量:_myClassName 是一个下滑线+骆驼命名法;
    • 方法参数名:采取首字母小写。GetUser(string userId);
    • 方法内变量:如mUserId。m+骆驼命名法,表示方法内变量,其中(m=>取自于Method中的m);
    • 常量名: [操作名]_[状态]_[消息提示信息]; 如SUBMIT_FAIL_MSG代表提交失败消息;
    • 枚举命名:[枚举][Enum];如:StatusEnum,一看就知道就状态枚举.甚者更细化一点PrintStatusEnum指的是打印状态枚举;
    • 委托命名:[委托名][Delegate],如:SubmitUserDataDelegate,表示提交用户数据委托;

    荐书

  • 相关阅读:
    WPF Video Tutorials
    英语词汇看病
    回车键的含义
    勘误《新概念》IV
    2010年春季C语言程序设计答疑时间地点安排
    勘误《新概念》III
    A potentially dangerous Request.Form value was detected from the client
    推荐WPF的好书(图书)
    *英语词汇交通
    英语词汇房地产
  • 原文地址:https://www.cnblogs.com/DripRoad/p/5515274.html
Copyright © 2011-2022 走看看