博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2013年10月27日

摘要: 区域字段void substrig(params Range range) {}// 以上函数可以这样调用:// 最原始的调用方式。substring( new Range( 1, 5 ) ) // 通过命名参数调用。substring( start:1, end: 5 ) substring( start:1, length: 4 ) substring( length: 4, end:1 ) substring( start:1 ) substring( end:4 ) // 通过直接传参方式调用。substring( 1, 4 ) // 即 sub... 阅读全文

posted @ 2013-10-27 20:24 xuld 阅读(349) 评论(0) 推荐(0) 编辑

2013年10月15日

摘要: 通过面向对象的思路,我们可以把任何事物都看成一个对象然后单独处理,从理想的角度,任何一个微小的单元都可以以一个对象的形式表示。比如我们可以用如下代码表示一个人以及它的姓名:1.不分离姓名class 人 { public string 姓名;}但是这个世界是很复杂的,姓名本身是由姓和名组成的。如果我们需要需要单独处理姓和名时,要怎么办?于是我们可以这么拆分:2.直接分离姓名class 人 { public string 姓; public string 名;}但我们会碰到这个问题:姓和名本身是一个整体,处理姓名的逻辑不应该放在人这个类里面,而应该单独提取出来。于是代码改为... 阅读全文

posted @ 2013-10-15 12:27 xuld 阅读(1132) 评论(2) 推荐(2) 编辑

2013年10月13日

摘要: 假如你是一个前端,现在需要在网页上添加一个日期选择器。你自估要多久?聪明的程序员不会重复劳动,他会复制已有的代码。更聪明的程序员连复制都懒,他会把这些代码写成组件,下次可以直接使用。于是,框架就这样诞生了。起初框架的目标很明确:我需要重用这段代码,所以把它们提取出来。但后来却发现,有个地方我需要的是一个稍微有点变化的日期选择器,直接照搬代码显然是不行的,但是聪明的程序员不会去重复劳动,于是他选择修改框架代码,让他同时满足2个需求。后来的后来,需求越来越多,终于有一天,框架变的很大。然后就有人抱怨了,尼玛我只需要这么一个简单的功能,你给我来这么多代码。有洁癖的程序员就不满意了,他决定自己重写一个 阅读全文

posted @ 2013-10-13 12:41 xuld 阅读(983) 评论(0) 推荐(0) 编辑

2013年10月12日

摘要: 我现在正在做一个比较大的项目,于是我就在网上找到了一个目标比较接近的开源项目,大致测了下,大概有70%的功能是我所需要的,还有30%的功能和我要的不一样。所以我现在有2个选择:1. 自己全部重写。不过这个太费时,于是我选择 2. 修改这个项目,把自己想要的功能改出来。不过一个老问题又出现了:读懂这个项目比自己写更吃力。我想很多人都应该有这个感受,不然也不会有很多的轮子。所以,我干脆就仔细研究这个问题:为什么别人的代码总是那么难读。1. 什么叫读懂代码当然,读懂代码的语法是基本,但更重要的是读懂代码的意义。读代码的时候,我们更多思考这个问题:这行代码在做什么,为什么要这么做。然而实际上,我们仍然 阅读全文

posted @ 2013-10-12 15:38 xuld 阅读(1251) 评论(0) 推荐(1) 编辑

2013年9月27日

摘要: C# 用户似乎都希望 C# 可以和 C++ 一样编译为本地的机器码。如果 C# 可以编译为机器码,将可以做到:1. 效率提高,可以取代 C++ 。2. 反编译。当然微软在商业利益的考虑下是不允许这么做的。不过仍然有很多人在尝试这个艰巨的任务。完成 C# 转原生代码,可以认为是 C# 转 C++ 代码。C# 本身就是学习 C++ 的,因此大部分语法都可以直接转为 C++ 代码。主要问题为 C# 的运行库很难移植到 C++。1. C++ 没有 GC 库。这个可以使用开源的 GC 库代替。2. C++ 没有动态类型加载器。这个可以自动生成一些静态方法来调用。3. C++ 没有 .net 其它工具库。 阅读全文

posted @ 2013-09-27 19:56 xuld 阅读(2629) 评论(1) 推荐(0) 编辑

2013年6月6日

摘要: 总结了下,你们讨厌微软系的主要原因是:用户会对微软的产品有极大的依赖性,特别是由于闭源。用户不需要了解太多细节就能达到目标。也正因为如此,用户很难定制自己的需求,他必须跟着微软走。打个比方,就好比古人们都用锅烧饭,现代人用电饭煲烧饭。是的,现在的人们对于电饭煲有极大的依赖性,而且大部分人也不知道电饭煲的工作原理。不过,用电饭煲很难烧出不一样的味道。微软就像是发明电饭煲的人。你可以不用,你可以不依赖它,但不要说它本身的不好。事实上,它做的很好,至少让太多人学会了电脑,学会了编程。再深入思考,你是厨师,所以你会在意用什么工具烧饭。但假如你只是个吃货,就不大介意是用锅还是电饭煲烧的饭,最多骂骂烧的饭 阅读全文

posted @ 2013-06-06 16:06 xuld 阅读(662) 评论(3) 推荐(1) 编辑

2013年5月15日

摘要: 1. 这个语言的语法不创新,C风格,且最好可以兼容一门现有的C风格语言。2. 这个语言是静态的。可以编译为支持各个操作系统的程序。和 C/C++ 的效果相同。3. 开源。任何一个开源包都可以直接加载,且保证不会出现问题。4. 它和 C/C++ 的最大区别是: 支持 GC, 闭包,迭代等新一代语言特性。5. 它和 Java/C# 的最大区别是它可以编译为原生机器码:防破解、支持移动平台、效率高。6. 注重敏捷开发,允许一切以开发效率优先,而不会像Java/C#为了一些性能和规范而强制用户多写一些对产品无意义的代码。比如允许自动忽略 null 错误。7. 这个语言可以从语法上转为其它语言的同效果代 阅读全文

posted @ 2013-05-15 12:00 xuld 阅读(685) 评论(2) 推荐(0) 编辑

2012年12月25日

摘要: 背景做前端的同学都知道,做的页面多了,东西就会乱,因此我们需要统一一个开发流程。开发流程的好坏,直接影响着页面开发的效率,间接影响游戏的时间。开发流程的目标可以快速完成页面。通过组件化的方式,保证代码重用,避免重复劳动。保证页面上线后能够高效运行。开发流程的范畴文件的存放规范。代码的组织结构和编码规范。发布策略。支持整个流程所必须的开发工具。每个团队都有自己的开发流程规范。实际上也不存在一个最好的流程规范,只有最适合的。以下介绍一个根据多个团队的开发流程总结归纳得出的一套通用开发流程规范。文件夹规范假设项目文件夹为 p/ 。那么这个文件夹内包含:p/assets/ 存放开发工具p/dev/ . 阅读全文

posted @ 2012-12-25 13:10 xuld 阅读(2291) 评论(4) 推荐(2) 编辑

2012年12月18日

摘要: 本来打算做个聊天机器人的,不过网上找了下,找不到能用的现成的登陆QQ用的C#代码。最多就只找到一个手机 QQ 的版本。 不过这个版本不能群聊,这个比较郁闷。所以,干脆就自己捣鼓了一份。测试在 2012/12/18 可以正常登陆qq,支持群聊,好友处显示为 电脑在线。相关的源码下载: http://pan.baidu.com/share/link?shareid=142060&uk=1845666913代码如下: // 创建一个新的 QQ 客户端。 QQClient qq = QQClient.Create(qqNumber, qqPwd); // 登... 阅读全文

posted @ 2012-12-18 16:51 xuld 阅读(2618) 评论(7) 推荐(2) 编辑

2012年12月12日

摘要: 问题的来源先看一个实际的场景:假如现在有这个已经做好的页面:现在需要新做一个页面,页面中需要把上图的搜索框拿回来,包括css样式和js的智能提示功能都要保留。这样的例子在开发时会经常出现,比如搜索框、好友列表、侧边栏。现在很多开发人员为了方便,基本都是从原有的页面把相关的css,js直接抠出来,然后复制到新的页面。时间久了就会发现:代码很乱;每次都需要重新抠代码,很辛苦;如果是团队开发,经常会出现重复开发相似功能的事情。所以,我们需要定义一个前端项目开发规范,减少复用代码的成本。如何实现复用其实,代码复用不是现在才提出来的,很早以前就有js框架实现一定程度的复用了,另外也有人开始使用一些 UI 阅读全文

posted @ 2012-12-12 13:11 xuld 阅读(835) 评论(0) 推荐(0) 编辑