关于理想化的编程
2015-11-28 12:45 只喝牛奶的杀手 阅读(792) 评论(2) 编辑 收藏 举报理想化编程测例子还很多,我就拿做接口这个例子说事吧!
现在一般的接口都是给的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为例吧,像编程理想化的例子还很多,比如不写后端验证,我们改怎么防御攻击。此恨绵绵无绝期,吾将上下而求索!我是不是有点较真了????
欢迎大家关注微信号killerhub,微信公众号名称:只喝牛奶的杀手, 扫下面的二维码或者收藏下面的二维码关注吧(长按下面的二维码图片、并选择识别图中的二维码)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?