阅读更多

30顶
2踩

编程语言

原创新闻 Nutz1.b.36 发布-Mvc 重构

2011-03-25 09:31 by 正式记者 zozoh 评论(28) 有11204人浏览
Nutz1.b.36 发布-Mvc 重构



--------------------------------------------------------------------------------

1.b.36 发行注记

Nutz1.b.36下载地址: http://code.google.com/p/nutz/downloads/list

Hi, 大家好,又是我。

接着本次发布的机会,我们要 highlight 一位开发者 -- juqkai

在他和 Wendal同学前后鼓动下,我们终于毅然的重写了Mvc的核心加载逻辑

现在的 Mvc 更加灵活,至于如何灵活,大家可以读读 这篇文档

同时,我发现 juqkai 同学也是一位对代码的品质有执着追求的同学,比如他毅然的重构了 Nutz 的 JsonParsing,记得当时我写这个类时,就是一个大函数,一个长长的 switch...case,因为我想:"JSON 这点简单的东东,还用弄个什么结构吗?"。 但是后来我发现代码越来越长,也犹豫过:"要不要重构一下,起码弄几个私有函数嘛。"。 但是后来想:"算了,反正长也不过 400行。我还要留点时间看火影的好 ^_^"

但是,我这点懒散被目光如炬的 juqkai 的同学发现了,他挺身而出,完成了我一直想做但可耻的没有做的事情。实话说,这种精神已经感动我好几个礼拜了。 喂神马!喂神马!又出现一个执着于代码品质的提交者涅?

这版 Nutz 经过这次重构,解决了很多 Mvc 方面潜在的问题。 这时,似乎大家又把目光投向了 Dao。 恩,是的,我们打算重构一下它。彻底的重构。

有些人可能会担心,你们这么乱搞,代码的正确性如何保证啊? 我们基本不太担心,我们的代码质量现在基本由 600 多个 JUnit 来保证。每当有人报 Issue,我们会尽可能添加 JUnit 来重现。 我记得在早些时候,我认为如果项目的 JUnit 到了 1000 个,那么代码的质量应该是坚若磐石的。现在我们可以说,Nutz 差不多是一块 65% 的磐石。 即使我们肆无忌惮的重构,它的质量也不太会发生什么大的变化。所以,很有可能在之后的1-2个版本,我们会重构 Dao.

特别感谢 + 废品免费召回
果然是 ”步子大了,容易扯着蛋“, 请看 ---^ 一段的吹牛,就是因为还没有到 1000 个 JUnit,就出事了。
伟大的 Landraxee同学 在发布之后1小时内发现了一个错误
    Issue 451

这个错误导致了 '@Ok("jsp:abc.bcd")' 这种最普通的写法行为与之前的版本行为不相同。
当然你看到这篇文章的时候,我们已经通过几个 JUnit 测试保证了这个错误不会再犯,并替换了之前包含错误的编译版本。

但是而包含这个错误的发布包已经被近 50 位同学下载了,这里我们急切的呼吁,
请已经下载 Nutz 的同学,检查自己下的发布包,正确的名字应该是 1.b.36.r3

无论怎样,再次感谢 Landraxee同学 ^_^

--------------------------------------------------------------------------------

问题修复

  • Issue 204 Mirror表达式(嵌套属性的支持)  by jiongs753
  • Issue 350 实现更优雅的URL  by wesnow
  • Issue 354 Mvc:是否可以在执行ActionFilter之前进行参数适配,并将适配后的参数数组作为传入ActionFilter  by landraxee
  • Issue 381 关于上传文件正则表达式匹配可以支持的文件名报错的问题  by axhack
  • Issue 382 能否考虑将DefaultEntityMaker中的哪些私有的方法改为protected的?  by a357857613@qq.com
  • Issue 384 换成 JSON 字符串时,\u转义有误  by fjayblue
  • Issue 388 Json: 多线程的时候,转换时间类型到字符串会出现错误  by liaojiaohe
  • Issue 389 Cnd拼条件时使用not in,生成的SQL文不正确  by pangwu86
  • Issue 392 配置正确的url路径却进不到对应的Action  by pangwu86
  • Issue 393 Feature: Please support variant in the locale message  by 袁青云
  • Issue 394 路径参数最好定义成包装类型  by wesnow
  • Issue 396 处理异常信息的时候出现异常  by fjayblue
  • Issue 397 El.eval在某些算式中出现的问题  by ywjno.dev
  • Issue 399 WebResourceScan.list NullPointerException  by jiongs753
  • Issue 404 FailProcessor 异常时不会在控制台打印信息  by juqkai
  • Issue 411 WebResourceScan 不能扫描 classpath 下面的 jar 包.  by Json.Shen


--------------------------------------------------------------------------------

质量

共通过了 664  个单元测试用例,代码覆盖率达到

Nutz.Dao 经测试在如下数据库上可以工作正常



--------------------------------------------------------------------------------

文档





--------------------------------------------------------------------------------

主要贡献者名单

贡献的种类:

  • 问题: 给项目的问题列表汇报一个上的问题,并且该问题被本次发布包括
  • 博客: 在本版本开发期间,写过关于 Nutz 的文章,并被 推荐列表收录
  • 代码: 提交过至少一个修订
  • Demo: 为 Demo Site 提交过代码
  • 文档: 提交过文档,在讨论区发帖或者通过文档上的留言指出现有文档存在的问题
  • 测试: 发布前,参与测试周发布人给出的任务


如有遗漏,请提醒我们 ^_^

贡献列表,我已经写了一个小程序,根据 Issue 列表来自动统计...

贡献者        问题 博客 支持 代码 示例 文档 测试
A357857613   O     -     -     -     -     -     -  
Axhack      O     -     -     -     -     -     -  
Fjayblue    O     -     -     -     -     -     -  
Json.Shen   O     -     -     -     -     -     -  
Juqkai      O     -     -     O     -     -     O  
Landraxee   O     -     -     -     -     -     O  
Liaojiaohe   O     -     -     -     -     -     -  
Pangwu86    O     -     -     -     -     -     -  
Wendal      O     O     O     O     -     -     O  
Wesnow      O     -     -     -     -     -     -  
Ywjno.dev   O     -     -     -     -     -     -  
zozoh      O     O     O     O     -     O     O  
天行健         O     -     -     -     -     -     -  
袁青云         O     -     -     -     -     -     -  


另外,很多朋友都在:



回答新手的问题,我们现在只能根据印象草草统计,贡献列表非常不完善。我们正在想办法,争取在不远的将来,能记录下来大家每一点一滴的付出 ^_^!

欢迎访问官网,以获取 最新的快照版用户手册
30
2
评论 共 28 条 请登录后发表评论
8 楼 yuyue618 2011-03-25 10:51
计划加入小白鼠行列
7 楼 xuriyunhai 2011-03-25 10:33
支持,真的很好用!
6 楼 lifei800 2011-03-25 10:26
 
5 楼 samfisher 2011-03-25 10:23
  
4 楼 wendal 2011-03-25 10:07
一波三折,整了一个晚上,终于正确发布了!!!
3 楼 hzzdong 2011-03-25 09:50
支持!很不错!
2 楼 feiyan35488 2011-03-25 09:49
期待 先战歌位置
1 楼 fjay 2011-03-25 09:46
期待dao的重构

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • VC++动态库DLL与静态库LIB编程

    a.静态库lib的代码在编译时会直接塞到EXE中,EXE可以在用户端直接执行而不需要lib库的支持。因此,打包时不用给客户lib代码了,但EXE可执行文件体积会很大。注意:静态库中不能包含其他的静态库或动态库。b.动态库何时加载和卸载取决于EXE中的指令,调用API动态完成dll库的支持。EXE可执行文件体积会很小,但发布时需要打包dll文件,一起上传才可以执行EXE全部功能。

  • VC dll编程和使用例子

    里面有2个vs2005工程,分别是dll制作工程和dll使用工程,代码简洁,非常实用

  • 关于VC中的DLL的编程

    关于VC中的DLL的编程在我们实际用软件时,经常可看到许多动态连接库。动态连接库有其自身的优点如节省内存、支持多语种等功能,而且,当DLL中的函数改变后,只要不是参数的改变调用起的函数并不需要重新编译。这在编程时十分有用。至于其他妙处,各位在电脑杂志、书籍中都能看到,我这里再说就是废话了.这次小弟我所要讲的是如何在VC5.

  • 计算机丢失CH375DLL怎么办,CH375DLL.DLL

    如果您下载的是DLL文件(如果是其他软件请无视下面的信息):1、下载后根据您系统的情况选择X86/X64,X86为32位电脑,X64为64位电脑。 如果您不知道是X86还是X64,可以住个尝试。2、把dll文件拷贝到对应目录C:\Windows\System (Windows 95/98/Me)C:\WINNT\System32 (Windows NT/2000)C:\Windows\System...

  • DLL的生成、编写、调用总结

    一. DLL的创建 二. DLL内容编写 三. DLL调用 四.dll编写时宏的解释

  • 生成DLL的三种方式

    如何创建dll文件

  • DLL教程 - 如何编写动态链接库 DLL

    DLL教程 - 如何编写动态链接库 DLL

  • VC DLL学习

    1 用VC创建DLL动态链接库1.1 创建dll项目1.2 为dll项目编写源文件头文件dllDemo.h extern "C" _declspec(dllexport) int Sum(int a,int b);//加法函数。extern "C" _declspec(dllexport) int Max(int a, int b);//取较大值函数extern "C" _declspec(...

  • VC DLL编程

    在我们实际用软件时,经常可看到许多动态连接库。动态连接库有其自身的优点如节省内存、支持多语种等功能,而且,当DLL中的函数改变后,只要不是参数的改变调用起的函数并不需要重新编译。这在编程时十分有用。至于其他妙处,各位在电脑杂志、书籍中都能看到,我这里再说就是废话了. 这次小弟我所要讲的是如何在VC5.0中如何做自己的Win32 DLLs,各位要做自己的动态连接库,首先要知道DLL在VC5.0中都

  • VC++动态链接库(DLL)编程深入浅出(一)

    VC++动态链接库(DLL)编程深入浅出(一)1.概论  先来阐述一下DLL(Dynamic Linkable Library)的概念,你可以简单的把DLL看成一种仓库,它提供给你一些可以直接拿来用的变量、函数或类。在仓库的发展史上经历了“无库-静态链接库-动态链接库”的时代。[被屏蔽广告]  静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库,则无论你愿不愿意,lib中

  • C++笔记-DLL的编写与调用

    目录 基本概念 代码与实例 基本概念 Visual Studio的编译环境下,DLL分为3类: 非MFC的DLL,使用SDK API进行编程,能被所有语言调用。 MFC规则DLL,可以使用MFC进行编程,能被其他语言调用。 MFC扩展DLL,可以使用MFC进行编程,但只能被MFC编写的程序调用。 // dllmain.cpp : 定义 DLL 应用程序的入口点...

  • C++DLL编程详解

    DLL(Dynamic Link Library)的概念,你可以简单的把DLL看成一种仓库,它提供给你一些可以直接拿来用的变量、函数或类。在仓库的发展史上经历了“无库-静态链接库-动态链接库”的时代。 静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库,则无论你愿不愿意,lib中的指令都被直接包含在最终生成的EXE文件中了。但是若使用DLL,该DLL不必被包含在最终EXE文件中,E

  • 如何创建dll工程

    下面介绍如何创建一个dll项目。 我们自己写的类或函数,都可以导出成一个dll供他人使用,比如自己写的一个File操作类或加载某种格式文件的类等。 首先创建一个dll项目: 我们还是在前面创建的解决方案下再新建一个dll项目,用来导出一些公用的功能函数。 在解决方案上右键,添加新项目: 选择Win32项目,项目命名为MyDLL,单击浏览按键,选择Project文件夹,这是

  • 深入浅出Visual C++动态链接库(Dll)编程

    [转载]深入浅出Visual C++动态链接库(Dll)编程文章作者:宋宝华信息来源:天极网原始连接: http://soft.yesky.com/lesson/318/2166818.shtml?412  动态链接库(DLL)是Windows系统的核心,也是COM技术的基础,因此突破动态链接库一直是技术人员的攻坚目标,本期专题将由浅入深的介绍动态链接库的基础慨念、分类、实现和应用。基础慨念1.概

  • [转载]创建纯资源 DLL

    Visual C++创建纯资源 DLL(vs2005) 首选是动态DLL 把需要的资源导入进项目 在编译要/NOENTRY 这个选项,Properties->configure Properties->linker->No entery point 纯资源 DLL 是仅包含资源(如图标、位图、字符串和对话框)的 DLL。使用纯资源 DLL 是在多个程序之间共享同一...

Global site tag (gtag.js) - Google Analytics