zoukankan      html  css  js  c++  java
  • 关于理想化的编程

          理想化编程测例子还很多,我就拿做接口这个例子说事吧!

          现在一般的接口都是给的json格式,Json是一种特殊的字符串(就像string是特殊的引用类型,至于怎样特殊问题留给你了)!XX提供一个接口是一个字符串,然后我问是怎么搞得,他说拼接,此时此刻,大家觉得有问题嘛?

          你拼接Json串,总有一天你会感觉到日了狗。。。。(包括在js拼接json串也是一样,一定要拼json对象!一定要拼json对象!一定要拼json对象!重要的事情说三遍!然后再用JSON.parse()和JSON.stringfy()去操作。

          XX提供的结构就是一串字符串,为什么不序列化!!!!出现占位符怎么样?XX曰:我们数据不会出现!这么肯定?这就是理想化编程的可怕!

          我跟到底层原来写的这么鬼:

         public string ToJson()
            {
                return string.Format("{{"para1":{0},"para2":{1},"para3":{2}}}", para1, para2, para3);
            }

          此时我已无力吐槽。。。。为什么不序列化(Serialization)成json?

          下面还有关于反序列化成model。为什么用强转?强转为什么不加Try catch?

           LModel codelist = (Model)JsonConvert.DeserializeObject(strJson, typeof(Model));

          其实也没必要用Try catch,用as就行

          关于强转和as的区别:强制类型转换:转换不成功会抛出异常,对引用类型和值类型都适用。as运算符:转换不成功得到一个null值,不会抛出异常;仅适用于引用类型,不能用于值类型。

          LModel codelist = JsonConvert.DeserializeObject(strJson, typeof(Model)) as model;

         这不就OK了。。。。

         做接口要注意的地方(一家之言,欢迎拍砖)

         1,标准的接口文档和标准的接口数据;

         2,性能;

         a、SQL语句性能,查询更快

         b、缓存,减少数据库压力

         c、数据量,能不能一次把数据拿出来

         d、生成压缩gz文件,减少网络传输

         先以json为例吧,像编程理想化的例子还很多,比如不写后端验证,我们改怎么防御攻击。此恨绵绵无绝期,吾将上下而求索!我是不是有点较真了????

  • 相关阅读:
    【转】[Android] Android开发优化之——对界面UI的优化(3)
    【转】最火的Android开源项目
    【转】[Android] Android开发优化之——对Bitmap的内存优化
    【转】[Android] Android开发优化之——对界面UI的优化(2)
    【转】[Android] Android开发优化之——使用软引用和弱引用
    【转】[Android] Android开发优化之——从代码角度进行优化
    【转】EditText的属性说明
    第三次作业结对编程
    python的参数传递是值传递还是引用传递??
    Python装饰器与面向切面编程
  • 原文地址:https://www.cnblogs.com/viaiu/p/5002508.html
Copyright © 2011-2022 走看看