• 层层清晰:面向对象的代码模型


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

    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);

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

  • 相关阅读:
    PHP中的闭包详解
    PHPDoc 学习记录
    php中注释有关内容
    命名空间 转
    php命名空间学习笔记。
    php命名空间详解
    命名空间
    php作用域限定符
    nginx负载均衡
    naginx安装入门
  • 原文地址:https://www.cnblogs.com/shyleoking/p/1536604.html
Copyright © 2020-2023  润新知