zoukankan      html  css  js  c++  java
  • 层层清晰:面向对象的代码模型

    好了,在经历了面向过程的代码之后,我们来观察以下使用面向对象思路的代码:

    string s = "12.14";

    bool format = true;

    int precision = 2;

    char symbol = '$';

    if (s.LastIndexOf(symbol) > 0)

    {

    //货币负号非法

    format = false;

    }

    s = s.Replace(symbol, ' ');

    if (s.LastIndexOf('.') > 0)

    {

    //负号非法

    format = false;

    }

    s = s.Replace("-", "");

    if (s.LastIndexOf('.') > -1 && s.Length - s.LastIndexOf('.') > precision + 1)

    {

    //精度非法

    format = false;

    }

    string tmpStr = s.Replace(".", "");

    for (int i = 0; i <= tmpStr.Length - 1; i++)

    {

    if (!char.IsNumber(tmpStr[i]))

    {

    //有非数字的字符

    format = false;

    break;

    }

    }

    if (s.Split('.')[0] != int.Parse(s.Split('.')[0]).ToString())

    {

    //整数的前导有0

    format = false;

    }

    System.Console.WriteLine(format);

    上述的代码结构非常清晰,编写者抓住了需求的本质是检查数字的合法性,因此在代码的编写过程中将那些影响数字的前缀都一一过滤,以可以实现结构合理的代码块了。

  • 相关阅读:
    Android布局1
    QML 自定义折线图
    QML ChartView 画折线图
    操作系统复习笔记
    Redis的使用
    Git的基本使用
    Python json to excel/csv
    .NET中进行Base64加密解密
    用 IIS 7、ARR 與 Velocity 建设高性能的大型网站
    微信突然出现redirect_uri 参数错误
  • 原文地址:https://www.cnblogs.com/shyleoking/p/1536604.html
Copyright © 2011-2022 走看看