屌丝和美女根本就不是一个星球来的,一写代码就露馅了
2013-07-04 18:51
232 查看
有这么一个函数,功能是通过传入的数据,更新一些界面显示。要求是传入的数据中,结构体成员中,字符串为NULL的、数字小于0的都保持原样不要更新。
屌丝是这么写的:
美女是这么写的:
严格来说只有三处天翻地覆的不同:==null和!=null ; file赋给OldFile和OldFile赋给file ; 最后更新OldFile和更新file。你会发现美女的超级逻辑,运行起来居然也是对的,在不触发内在问题的时候,可以正常使用,这也是为什么这个BUG居然潜伏了一年多,作为屌丝的我,彻底的拜倒在美女的键盘之下
屌丝是这么写的:
/// <summary> /// 修改书本信息 /// </summary> /// <param name="file"></param> public void UpdateBookCase(Model_File file) //传入参数叫file是个结构体 { if (!DataCache.Instance.DicBookItems.Keys.Contains(file.FileID)) return; //如果之前没折腾过这玩意,就不管 Model_File OldFile = DataCache.Instance.DicBookItems[file.FileID].Tag as Model_File; //折腾过的就拿出来,叫OldFile if (file.DetailFileList != null) { OldFile.DetailFileList = file.DetailFileList; } if (file.FileName != null) { OldFile.FileName = file.FileName; } if (file.FilePath != null) { OldFile.FilePath = file.FilePath; } if (file.FileSize != null) { OldFile.FileSize = file.FileSize; } if (file.FileType != null) { OldFile.FileType = file.FileType; } if (file.SendName != null) { OldFile.SendName = file.SendName; } if (file.SendNum != null) { OldFile.SendNum = file.SendNum; } DataCache.Instance.DicBookItems[file.FileID].UpdateBookItemControl(OldFile); }
美女是这么写的:
/// <summary> /// 修改书本信息 /// </summary> /// <param name="file"></param> public void UpdateBookCase(Model_File file) { if (!DataCache.Instance.DicBookItems.Keys.Contains(file.FileID)) return; Model_File OldFile = DataCache.Instance.DicBookItems[file.FileID].Tag as Model_File; if (file.DetailFileList == null) { file.DetailFileList = OldFile.DetailFileList; } if (file.FileName == null) { file.FileName = OldFile.FileName; } if (file.FilePath == null) { file.FilePath = OldFile.FilePath; } if (file.FileSize == null) { file.FileSize = OldFile.FileSize; } if (file.FileType == null) { file.FileType = OldFile.FileType; } if (file.SendName == null) { file.SendName = OldFile.SendName; } if (file.SendNum == null) { file.SendNum = OldFile.SendNum; } DataCache.Instance.DicBookItems[file.FileID].UpdateBookItemControl(file); }
严格来说只有三处天翻地覆的不同:==null和!=null ; file赋给OldFile和OldFile赋给file ; 最后更新OldFile和更新file。你会发现美女的超级逻辑,运行起来居然也是对的,在不触发内在问题的时候,可以正常使用,这也是为什么这个BUG居然潜伏了一年多,作为屌丝的我,彻底的拜倒在美女的键盘之下
相关文章推荐
- 据国外媒体报道,近日被炒得火爆的印度10美元笔记本的原型日前曝光,从图片看,这根本不是一部笔记本电脑,而更像是一个
- SpringMVC,3种不同的URL路由配置方法(这根本不是一个小问题)
- SpringMVC,3种不同的URL路由配置方法(这根本不是一个小问题)
- [CODE]牛津一美女写的一个PHOG代码
- 程序员应该是一个牛逼的职业,绝对不是屌丝职业
- 让自定义控件设计时全部可见(而不是只有一个占位符代码)
- SpringMVC,3种不同的URL路由配置方法(这根本不是一个小问题)(转)
- 基本上,把switch,用设计模式代替,肯定是bug和过度设计。想想,本来修改一个文件几行代码可以解决的问题,变成修改3-6个类才能实现一样的功能。不是傻是什么?
- vscode是一个编辑器,而不是一个严格意义上的ide,但是却具有ide的部分特性,如代码提示
- SpringMVC,3种不同的URL路由配置方法(这根本不是一个小问题)
- 一天安装一个mysql,不是吓唬你,哈哈,mysql问题解决方法1067 can not connect to localhost (带MySql常用错误代码表)
- 做为一个社会的人,不是靠能写多少行代码,代码多么优雅水平多么高来衡量身家的。
- SpringMVC,3种不同的URL路由配置方法(这根本不是一个小问题)
- 第一次自己去做一个程序,而不是照着书本上的代码打程序。
- SpringMVC,3种不同的URL路由配置方法(这根本不是一个小问题)
- 一个线程作为生产者,一个线程作为消费者。生产者每生产一次,消费者就消费一次。生产者每次生产一定数量的商品,加上上次消费剩余的数量,而总数量不超过1000;总感觉代码不是很完善,求指教??
- SpringMVC,3种不同的URL路由配置方法(这根本不是一个小问题)
- SQL Server中事物隔离级别Read Uncommitted和with(nolock)根本就不是一个意思
- 别把&和nohup混为一谈, 根本不是同一个东西好不好 ------ 聊聊./a.out & , nohut ./a.out , nohup ./a.out &的区别
- 土豆和西红柿根本就不是一个世界的但是他们走到了一起