重构.NET(www.refactoring.net)建站构想

原创 2004年08月25日 11:34:00

重构.NET(www.refactoring.net)
--中国第一个以Refactoring为主题的网站。

主题:关注重构(Refactoring)、关注驱动测试开发(TDD)、关注设计模式(Disigh Patterns)。

目标:以重构为载体,通过推广重构的思想和技术,提供重构代码的交流平台,提高程序员的设计能力和写好代码的修养。推动把重构职业化的进程,进而培养中国第一批重构师。

形式:本站除具有介绍重构及相关技术的功能之外,还力争把它建设为类似于SourceForge那样的重构开源社区。兼有http://www.codeproject.com/特色,用文章+代码来说明重构等技术问题。

特色(初步想法):
1、Use your blog to speak!(用你的Blog说话)
   在程序设计上提倡面向接口编程,接口的作用就是封装了你内部的实现,这样可以使接口统一而实现却丰富多彩、给你更多的自由选择。我想我们的网站亦是如此。我们的网站从News到论坛全部采用“接口”实现,我们只对你所发表的标题进行引用(超连接),而不存储你所发表的内容。也就是说你要发表任何言论首先发表到你的blog上然后再把连接发到网站相应栏目下。这样的好处很明显:首先你若想发表自己的观点,先发布到自己的blog上,然后再把连接发到网站上,省去了你要重复发布多次的麻烦(实际上你把内容发布到网站上自己又在blog上留个备份显然属于重复设计,按照重构的法则来说应该尽量消除它!)同时如果有朋友回复你的帖子,直接在你的blog上回复就行了。这样即使有一天我们的网站不在了,你的资料却依然存在--这笔财富将会保存的更加持久。另外由于在你的blog上已经对你的文章或者问题进行了分类,所以以后查找起来将很方便,比如你可以在blog上建一个问题专栏,里面是你所有的关于重构的问题。它一方面被发表在网站的论坛上(只是超连接在网站上)便于后来者参与讨论,也方便了你组织整理自己的文档。这比技术论坛要好得多,你可以想一下一年前的csdn上你的问题现在到哪里去找呢?其次,这样做给你提供了很多的方便,你若是在网上看到了好的内容,直接连过来就行,还用的着转贴吗?另外还有很多好处我就不多说了,比如可以防止灌水、搂主可以对自己的“帖子”的回复进行修改--这都不是我们提供的便利,是blog提供的,瞧出来了吗?这就是接口的好处!

2、我们的开源项目侧重于改造!
   重构目标是使把既有代码修改的更面向对象、更易读、结构更完美!所以我们的开源项目是独特的,与其他项目不一样的。我们侧重于改造,而不是创造!我们的开源项目,并不是从功能需求方面出发强调他的实用性,我们的目的是通过改造现有项目来锻炼自己,提高自己的设计能力,为以后更好的创造打基础!比如,我们可以找一段外面看起来功能还行,内部却一团糟的代码来重构!在此过程中我们省去了需求分析--因为使得重构后的代码仍可运行就是我们唯一的需求。我们省去了大部分代码细节的实现--因为原代码已经实现了这些细节。这样我们就只剩下设计这个大头了--把它改造成什么样子才更加可爱呢!注意到了吗?当你一上来就把注意力放到设计上的时候,你就更容易精力集中,而且在实践的过程中不会被代码实现细节等琐事所干扰,使得锻炼设计能力的效果更好!再比如,如果你觉得改造别人的代码还是没有成就感,不能发挥我们的创造性!那也没关系,你有没有想把动网论坛重构成.NET实现!这就更好了,吸取别人的优点,又全方面的锻炼自己,最后写成的代码又有实际意义,多有成就感阿!这就好比把JUnit改造成NUnit一样具有成就感!如果你觉得还不过瘾的话,你完全可以把自己代码拿出来重构,这样的话你决不会没有收获,没有激情!因为你把自己吃饭的工作当成艺术来重做,日后带来的效益绝非完成后一时的成就感!2008年你的代码又需要功能拓展了,你再也不会像以前那样一个头两个大了!

先想到这里具体的实现形式,我脑子里面已经有了雏形,等我大体做出过个模型来在于大家讨论。

关于栏目:
Refactoring News
Refactoring Books
Refactoring Tools
Refactoring Articles
Refactoring Source

Refactoring Practice
Refactoring Project

BlogForum


风格上力求简明 清新
参考:
http://www.cnuml.com/
http://www.refactoring.com/

栏目总体分两大类,文字性栏目和代码共享栏目。

A)文字性栏目

一、文字性栏目通用功能要求:

1、中英文分开

对于文字性的东西,最好能在标题后面注明英文还是汉语,并且点击相应的[英]可以对全部的英文资料进行分类阅读。
最好留有对英文资料后面加上翻译的相应连接,翻译文章亦有阅读原文的连接。

2、每一篇文章都允许评论。

由于发表的文章都连接到个人的blog上,用户可以在blog上直接加评论(feedback)。
同时在某些特定的技术文章标题后面,可以加上[评]按钮,用以发表相应的新评论(当然也只是加一个标题连接而已,用户需要在blog上发表再转载)

二、具体栏目说明

栏目1:What's new?

功能:将最新更新的内容放到上面,供浏览者第一时间察看。

样式:格式--题目+分类  点击分类可以进入相应的分类栏目列表。

 

栏目2:新闻(News)

功能:连接和发布一些关于重构、测试驱动开发、设计模式的新闻及资料文章。

运营模式:
     维护人员可从各大专业英文新闻转载过来,适当的对引子进行翻译,加上自己的评论。允许注册会员提供新闻线索,提交后经管理员审核后,方可显示,否则反馈不能发表原因。

管理:
   会员可以管理自己发表的文章,修改或删除。管理员可以管理所有文章,并具有处理提交文章的功能。当然是否考虑各专栏分管管理员的权限限制。总管理员具有一切权力,直接发表文章不受审核。

评论方式:对于News的评论只能发到blog的feedback上。不提供连接评论。

栏目3:重构书籍(Refactoring Books)

功能:介绍有关经典重构书籍,电子版下载,并提供读书笔记分享,书中例子个人分析,讨论书中的困惑等交互功能。

运营模式:
    介绍有关经典书籍,书皮价钱 相关评论等。可交互发表评论。
    电子版下载,搜集并整理。
    读书笔记分享,书中例子个人分析,讨论书中的困惑等交互功能
    ——提供在分类下添加连接。

管理:
   会员的书评直接发表不受审核,但推荐的新书需要审核。对于没有电子版下载的书,会员可以提交下载地址,管理员审核后将文件存到我们网站空间更新下载地址。管理员可以增加管理新书,为其增加电子版下载地址等维护,并具有处理提交推荐新书的功能。


栏目4:重构工具(Refactoring Tools)

功能:介绍有关重构的工具及使用技巧,提供软件下载、帮助电子版下载,并提供例子代码下载,即相关使用文档连接。

运营模式:
    会员提交,管理员审核更新。会员可以就该工具使用提问,并允许其他人回答。

管理:
   管理员可以增加管理新工具,为其增加下载地址等维护,并具有处理提交推荐新工具的功能。

附:重构工具下面还有测试工具等相关工具。

栏目5:技术文章(Refactoring Articles)

功能:介绍有关重构的工具及使用技巧,提供软件下载、帮助电子版下载,并提供例子代码下载,即相关使用文档连接。

运营模式:
    会员提交,管理员审核更新。

管理:
   管理员可以增加管理新工具,为其增加下载地址等维护,并具有处理提交推荐新工具的功能。

文章分类:
    重构
    设计模式
    测试驱动开发

栏目5:重构资源(Refactoring Source)

功能:提供各种重构的网上资源,包括网站、blog等

运营模式:
    会员提交,管理员审核更新。

管理:
   管理员可以增加管理新资源,为其增加下载地址等维护,并具有处理提交推荐新资源的功能。

资源分类:
    重构
    设计模式
    测试驱动开发

栏目6:论坛(BlogForum)

功能:答疑解惑,提问用的。我想首先考虑用blog来实现,主题是一个blog连接 回复也是blog连接 或者直接在blog上回复即可。我想这是我们的特色。可以把空间省下来放代码。

论坛板块待定。应该可以动态分配修改。

用户注册 用户注册时 需要填写blog地址,这样有一个blog列表,可以供大家互相认识访问。

B)代码共享栏目。
是我们网站的重点,应该好好策划和钻研。设计思路参看2、我们的开源项目侧重于改造!

未完待续
Refactoring Practice
Refactoring Project

wildhope 08:52:06
昨天又想了几个点子 一 为了突出实用性 所有的技术文章最好都能配以代码小例子 二 可以搞一些重构的竞赛小题目以活跃气氛
参考:http://www.allaboutprogram.com/

wildhope 08:52:32
昨天我还总结了为什么学习重构的十大原因 

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

.NET 业务框架开发实战之七 业务层初步构想

前言:本篇主要讲述如何把DAL和BLL衔接起来。     本篇议题如下:   1.       DAL和BLL之前的Mapping   2.      如何Map...

.NET 插件系统框架设计(一)框架整体构想

.NET 插件系统框架设计(一)框架整体构想  2009年11月26日 博客园 yaoshiyou   设计阶段一:将接口定义成单独程序集,让插件去实现这个接口,框架采用反射来完成子插件功能的读取...
  • anyqu
  • anyqu
  • 2012-06-21 16:24
  • 594

ASP.NET MVC Bootstrap 个人博客站 www.zynblog.com

ASP.NET MVC + BootStrap制作的个人技术博客站 www.zynblog.com

asp.net与internet建站技巧

  • 2012-11-28 15:24
  • 54KB
  • 下载

在OpenGL场景中实现小地图功能(www.c3dn.net)

想象一下,我们在原始森林里寻找宝藏,没有地图,没有GPS,那结果应该只有一种:不但找不到目标地点,而且很容易迷失方向。同样,在OpenGL绘制的场景中漫游,往往只能看到局部的场景,而无法确定自己现在处...

asp.net建站学习与指南

  • 2008-12-19 23:20
  • 155KB
  • 下载

http://www.blogjava.net/zyl/archive/2006/12/29/90802.html maven 配置篇 之 settings.xml

maven 配置篇 之 settings.xml     maven2 比起maven1 来说,需要配置的文件少多了,主要集中在pom.xml和settings.xml中。     先来说说set...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)