枚举类虽然很简单,但是却往往是系统中业务逻辑最集中最复杂的地方。本文将会分享我们项目中基于hibernate的枚举类使用规范,包含数据库中枚举列数据类型、注释、枚举列与枚举类的映射等。 一、枚举类定义规范 请注意,枚举类一定要包含一个常量字符串用于说明每一个枚举值的作用。为什么一定要放在枚举类里面? Read More
posted @ 2017-07-28 14:02
Leo C.W
Views(4397)Comments(0)Diggs(0)
很多项目都配置了日志记录的功能,但是,却只有很少的项目组会经常去看日志。原因就是日志文件生成规则设置不合理,将严重的错误日志跟普通的错误日志混在一起,分析起来很麻烦。 其实,我们想要的一个日志系统核心就这2个要求: 这样的日志系统最大的好处就是可以帮助我们一目了然的发现严重错误。结合管理员后台直接访 Read More
posted @ 2017-06-24 15:22
Leo C.W
Views(4223)Comments(18)Diggs(4)
从2012年开始带项目,当时就自己开发了一个非常简单的任务管理系统(几乎只有一个页面),虽然非常简单,但是比那些大名鼎鼎的项目管理系统更适合我们软件开发的项目。 从2012年至今,我们自己开发的这个任务系统并没有太大的变化,只是不断的优化了用户体验,让它更好用,用起来更方便。所以,即便到现在,它仍然 Read More
posted @ 2017-04-12 13:27
Leo C.W
Views(15431)Comments(2)Diggs(0)
由于公司旗下有好几个微信公众号,经常来回切换登录很麻烦,粉丝留言咨询的时候常常不能及时回复,导致订单流失。于是我们团队开发了一个公众号小助手,可以把多个公众号绑定进来,只要有粉丝留言,马上管理员就收到通知了,然后还可以在手机上进行回复。 实现的功能如下: 虽然这个小助手很小,但是里面用到的技术我觉得 Read More
posted @ 2016-09-08 16:24
Leo C.W
Views(4927)Comments(15)Diggs(31)
在我们的项目中,有大量ajax查询表单+结果列表的页面,由于查询结果是ajax返回的,当用户点击列表的某一项进入详情页之后,再点击浏览器回退按钮返回ajax查询页面,这时大家都知道查询页面的表单和结果都回到了默认状态。 如果每次返回页面都要重新输入查询条件,或有甚者还得转到列表的第几页,那这种体验用 Read More
posted @ 2016-04-27 17:09
Leo C.W
Views(6317)Comments(5)Diggs(10)
什么叫架构?揭开架构神秘的面纱,无非就是:分层+模块化。任意复杂的架构,你也会发现架构师也就做了这两件事。 本文将会全面的介绍我们团队在模块化设计方面取得的经验。之所以加了“全面”二字,是因为本文的内容将会涉及到:数据库、路由、C#、JavaScript、CSS、HTML等一个完整模块所需要的内容。 Read More
posted @ 2016-03-28 17:35
Leo C.W
Views(13682)Comments(18)Diggs(18)
你可以从你们现在项目里面随便找几处注释,看看写注释的代码是不是存在如下两种毛病之一:1. 命名不准确;2. 方法太长(超过50行)。如果你找到的代码没有出现上面两种毛病而注释依然存在,那你再看看这个注释是否有实际意义,是不是这个注释不要也无所谓呢。注释是恶魔这个观点可能你第一次看到,你可能很难接受,... Read More
posted @ 2016-01-03 16:25
Leo C.W
Views(27274)Comments(262)Diggs(26)
折腾了一下午再加上晚上1小时,终于完成了总共6个视频,时长3小时48分的视频录制。这6个视频,完整演示了我们团队基于我们自己搭建的框架,进行编码的工作流程,即如何从原型图开始,一步一步分析需求,设计数据库,完成页面HTML,JS,CSS以至全部功能,现场直播,全程无删减。 我们的这个框架,就是为超复 Read More
posted @ 2015-09-10 23:52
Leo C.W
Views(6530)Comments(49)Diggs(25)
Safari手机版居然有个这么愚蠢的bug,浪费了我整个下午,使尽浑身解数,国内国外网站搜索解决方案,每一行代码读了又想想了又读如此不知道多少遍,想破脑袋也想不通到底哪里出了问题,结果竟然是web.config 的formsauthentication 的name属性的值少写了一个点“.”!悲催啊!... Read More
posted @ 2014-12-28 16:54
Leo C.W
Views(863)Comments(0)Diggs(0)
本套试题共8个题,主要考察C#面向对象基础,SQL和ASP.NET MVC基础知识。第1-3题会使用到一个枚举类,其定义如下:1 public enum QuestionType2 {3 Text = 0,4 MultipleChoice = 15 }第1题:请定义一个接口IQues... Read More
posted @ 2014-11-19 14:42
Leo C.W
Views(16182)Comments(166)Diggs(12)
看到很多ASP.NET MVC项目还在从request.querystring或者formContext里面获取数据,这实在是非常落后的做法。也有的项目建了大量的自定义的modelbinder,以为很牛,实际上也落后的很。ASP.NET MVC提供了IModelBinder的默认实现,这个实现的类就... Read More
posted @ 2014-10-29 13:09
Leo C.W
Views(6504)Comments(13)Diggs(6)
本笔试题考查范围包括面向对象基础、HTML、CSS、JS、EF、jQuery、SQL、编码思想、算法等范围。第1题:接口和抽象类有何区别?第2题:静态方法和实例方法有何区别?第3题:什么是多态?如何实现?第4题:什么是泛型约束?第5题:Func和Action这2个类有何区别?第6题:假设有实体类Pr... Read More
posted @ 2014-08-27 13:52
Leo C.W
Views(7172)Comments(82)Diggs(21)
首先让我们来看看IIS里面的这2个数字:最大并发连接数,队列长度。先说这2个数字在哪里看。最大并发连接数:在IIS中选中一个网站,右键网站名称,在右键菜单中找到并点击【管理网站】->【高级设置】。打开对话框如下图:队列长度:在IIS中选中【应用程序池】,在应用程序池列表中,右键你想查看的,在右键菜单... Read More
posted @ 2014-07-16 14:11
Leo C.W
Views(10972)Comments(15)Diggs(5)
需求:代码: 1 namespace Demo.Services 2 { 3 public class UserService : IUserService 4 { 5 public void UpdateByAdmin(User user, int[] roleIds) 6 { 7 using (var db = new DemoDbContext()) 8 { 9 var dbUser = db.Users.Get(user.Id);10 ... Read More
posted @ 2014-04-01 19:16
Leo C.W
Views(2134)Comments(7)Diggs(1)
我们的终极编码规范,最重要的只有3点:每一个文件不能超过300行代码,最好不超过200行;每一个方法不能超过30行代码;不写一行注释。这3点看上去很简单,但是很多人做不到,即使是多年工作经验的。我们提出这3点,有很多人不相信做得到,或者认为即使做到实际意义也不大。事实是,我们多个项目成功做到了这3点,我们的团队深刻体会到了写代码的优雅、写代码的艺术。这3点应该在所有项目中遵守,不管是c#,还是js、HTML、java,都应该尽可能达到。除了这3点,还有其他几点可供参考:每一个文件夹不能超过30个文件和子文件夹,对于架构而言;业务相关的代码一定要放到一起;尽可能降低各个类的耦合度;写任何代码,当 Read More
posted @ 2014-03-31 22:34
Leo C.W
Views(3307)Comments(29)Diggs(6)