﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-jasmine214--love-随笔分类-工作相关知识扩展</title><link>http://www.blogjava.net/jasmine214--love/category/45443.html</link><description>There is no one like you.you speak to my heart.</description><language>zh-cn</language><lastBuildDate>Thu, 11 Nov 2010 13:14:48 GMT</lastBuildDate><pubDate>Thu, 11 Nov 2010 13:14:48 GMT</pubDate><ttl>60</ttl><item><title>光通产品知识</title><link>http://www.blogjava.net/jasmine214--love/archive/2010/10/11/334466.html</link><dc:creator>幻海蓝梦</dc:creator><author>幻海蓝梦</author><pubDate>Mon, 11 Oct 2010 11:02:00 GMT</pubDate><guid>http://www.blogjava.net/jasmine214--love/archive/2010/10/11/334466.html</guid><wfw:comment>http://www.blogjava.net/jasmine214--love/comments/334466.html</wfw:comment><comments>http://www.blogjava.net/jasmine214--love/archive/2010/10/11/334466.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jasmine214--love/comments/commentRss/334466.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jasmine214--love/services/trackbacks/334466.html</trackback:ping><description><![CDATA[参考：http://www.cww.net.cn/zhuanti/EPON/default.htm<br />
1.
<table border="0" cellpadding="3" cellspacing="0" width="100%">
    <tbody>
        <tr>
            <td width="5%"><br />
            </td>
            <td width="80%"><a href="http://www.c-fol.net/dictionary/show.php?id=7" target="_blank">TDM（时分复用）</a></td>
        </tr>
        <tr>
            <td><br />
            </td>
            <td id="hei2" colspan="2">时分复用是用抽样或脉冲调制方法使不同信号占据不同的时间区间。即采用交错排列低速模拟或数字信道到一个高速信道上传输的技术。有电时分复用和光时分复用。 </td>
        </tr>
    </tbody>
</table>
<br />
2. GE ,&nbsp;Gigabit Ethernet，千兆以太网技术 。<br />
FE接口（Fast Ethernet），就是快速以太网接口
<br />
GE接口（Gigabit Ethernet）,就是千M以太网接口
<br />
POS（Packet Over SONET/SDH)，用于更高速度的接口，通常用于广域网、城域网中。
<br />
<br />
SONET（Synchronous Optical
Network）是ANSI定义的同步传输体制，是一种全球化的标准传输协议，采用光传输，传输速率组成一个序列，包括STM-
1（155Mbit/s）、STM-4c（622Mbit/s）和STM-16c/STM-16（2.5Gbit/s），每一级速率都是较低一级的4倍。
由于是同步信号，因此SDH可以方便地实现多路信号的复用。
<br />
<br />
SDH（Synchronous Digital
Hierarchy）是CCITT（现在的ITU-T）定义的，使用SONET速率的一个子集。
<br />
<br />
路由器常见的接口有：通用串行接口（通过电缆转换成RS232DTE／DCE接口、V35DTE／DCE接口、X.21DTE／DCE接口、
RS449DTE／DCE接口和EIA530DTE接口等）、10M以太网接口、快速以太网接口、10／100自适应以太网接口、千兆以太网接口、ATM
接口（2M、25M、155M、633M等）、POS接口（155M、622M等）、TokenRing接口、FDDI接口、E1／TI接口、E3／T3
接口、ISDN接口等。	<br />
_-------------------------------------------------------------------<br />
<br />
千兆以太网标准是1997年10月才正式推出的，最高传输速率为1Gbps，与以太网技术、快速以太网技术向下兼容。<br />
3. GPON，Gigabit-Capable PON，千兆比无源光网络。<br />
GPON(Gigabit-Capable PON) 最早由FSAN组织于2002年9月提出， ITU-T在此基础上于2003年3月完成了ITU-T G.984.1 和G.984.2的制定，2004年2 月和6月完成了G.984.3的标准化。从而最终形成了GPON的标准族。 <br />
基于GPON技术的设备基本结构与已有的PON类似，也是由局端的 OLT(光线路终端)，用户端的ONT/ONU(光网络终端或称作光网络单元 )，连接前两种设备由单模光纤(SM fiber)和无源分光器(Splitter)组成的 ODN(光分配网络)以及网管系统组成。<br />
GPON标准中，明确规定需要支持的业务类型包括数据业务(Ethernet 业务，包括IP业务和MPEG视频流)、 PSTN业务(POTS，ISDN业务) 、专用线(T1，E1，DS3， E3和ATM业务)和视频业务( 数字视频)。GPON中的多业务映射到ATM 信元或GEM帧中进行传送，对各种业务类型都能提供相应的QoS保证。
<img src ="http://www.blogjava.net/jasmine214--love/aggbug/334466.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jasmine214--love/" target="_blank">幻海蓝梦</a> 2010-10-11 19:02 <a href="http://www.blogjava.net/jasmine214--love/archive/2010/10/11/334466.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>outlook如何设置POP3邮件服务器</title><link>http://www.blogjava.net/jasmine214--love/archive/2010/07/10/325741.html</link><dc:creator>幻海蓝梦</dc:creator><author>幻海蓝梦</author><pubDate>Sat, 10 Jul 2010 09:35:00 GMT</pubDate><guid>http://www.blogjava.net/jasmine214--love/archive/2010/07/10/325741.html</guid><wfw:comment>http://www.blogjava.net/jasmine214--love/comments/325741.html</wfw:comment><comments>http://www.blogjava.net/jasmine214--love/archive/2010/07/10/325741.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jasmine214--love/comments/commentRss/325741.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jasmine214--love/services/trackbacks/325741.html</trackback:ping><description><![CDATA[
		<table width="95%">
				<tbody>
						<tr>
								<td height="25">
										<font class="head">原文：<a href="http://www.magicwinmail.com/client/outlook.htm">http://www.magicwinmail.com/client/outlook.htm</a><br /> <img border="0" src="http://www.magicwinmail.com/client/dot_1.gif" /> 使用Outlook Express进行POP3收信和SMTP发信认证的设置</font>
								</td>
						</tr>
						<tr>
								<td>
										<p>
												<font class="text">使用Outlook进行POP3收信和SMTP发信认证的设置<br />软件名称：Microsoft Outlook Express 5.0<br />使用版本：5.50.4133.2400<br /></font>
										</p>
										<font class="text">1〕 点击菜单<font color="#ff0000">“工具”</font>中的<font color="#ff0000">“帐号”</font>；如下图所示：</font>
										<p>
												<img src="http://www.magicwinmail.com/client/outlook1.gif" borer="0" />
										</p>2〕 在弹出窗口<font color="#ff0000">“Internet帐号”</font>对话框中，单击<font color="#ff0000">“添加”</font>按钮选择<font color="#ff0000">“邮件”</font>；如下图所示： 
<p><img src="http://www.magicwinmail.com/client/outlook2.gif" /></p><p>3〕 进入到“Internet连接向导”填入用户的名字，点击下一步；如下图所示：</p><p><img src="http://www.magicwinmail.com/client/outlook3.gif" /></p><p>4〕 填写你在yourdomain.com邮局里申请到的电子邮件地址到“电子邮件地址”里，如下图所示：</p><p><img src="http://www.magicwinmail.com/client/outlook4.gif" /></p><p>5〕 <font color="#ff0000">接收邮件服务器</font>选为<font color="#ff0000">“POP3”</font>，在接收邮件服务器<font color="#ff0000">POP3</font>的地方填入“<font color="#ff0000">pop.yourdomain.com</font>”或者“<font color="#ff0000">yourdomain.com</font>”，而在发送邮件服务器<font color="#ff0000">SMTP</font>填入“<font color="#ff0000">smtp.yourdomain.com</font>”，点击下一步；如下图所示： </p><p><img src="http://www.magicwinmail.com/client/outlook5.gif" /></p><p>6〕 输入你的<font color="#ff0000">yourdomain.com</font>的帐号名和密码；点击下一步，如下图所示：</p><p><img src="http://www.magicwinmail.com/client/outlook6.gif" /></p><p>7〕 添加用户完成，如下图所示：</p><p><img src="http://www.magicwinmail.com/client/outlook7.gif" /></p><p>8〕 同样，要修改用户设置请点击菜单中的<font color="#ff0000">“工具”</font>-&gt;<font color="#ff0000">“帐号”</font>，选择好你想要设定的帐号，按<font color="#ff0000">“属性”</font>。如下图所示：</p><p><img src="http://www.magicwinmail.com/client/outlook1.gif" /></p><p><img src="http://www.magicwinmail.com/client/outlook8.gif" /></p><p>9〕 在用户信息里可以修改用户的资料。如下图所示：</p><p><img src="http://www.magicwinmail.com/client/outlook9.gif" /></p><p>10〕 设定SMTP验证及修改POP3服务器地址可选择<font color="#ff0000">“服务器”</font>标签； </p><p>11〕 在<font color="#ff0000">“外发邮件服务器”</font>下面的<font color="#ff0000">“我的服务器要求身份验证”</font>选项打勾，并按<font color="#ff0000">“设置”</font>按钮（注意，不要选择<font color="#ff3333">“<font color="#ff0000">使用验证密码安全登陆</font>”</font>）。如下图所示：</p><p><img src="http://www.magicwinmail.com/client/outlook10.gif" /></p><p>12〕 选择<font color="#ff0000">“使用与接收件服务器相同的设置”</font>按“确定”，完成设定。如下图所示：</p><p><img src="http://www.magicwinmail.com/client/outlook11.gif" /></p><p>13〕假如用户希望在收信之后，不删除服务器上的邮件，你可以在Outlook Express的<font color="#ff0000">“高级”</font>标签里面设置<font color="#ff0000">“在服务器上保留邮件副本”</font>。</p><p><img src="http://www.magicwinmail.com/client/outlook12.gif" /></p></td>
						</tr>
				</tbody>
		</table>
<img src ="http://www.blogjava.net/jasmine214--love/aggbug/325741.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jasmine214--love/" target="_blank">幻海蓝梦</a> 2010-07-10 17:35 <a href="http://www.blogjava.net/jasmine214--love/archive/2010/07/10/325741.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SVN--trunk branches tags 意义</title><link>http://www.blogjava.net/jasmine214--love/archive/2010/07/06/325385.html</link><dc:creator>幻海蓝梦</dc:creator><author>幻海蓝梦</author><pubDate>Tue, 06 Jul 2010 09:38:00 GMT</pubDate><guid>http://www.blogjava.net/jasmine214--love/archive/2010/07/06/325385.html</guid><wfw:comment>http://www.blogjava.net/jasmine214--love/comments/325385.html</wfw:comment><comments>http://www.blogjava.net/jasmine214--love/archive/2010/07/06/325385.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jasmine214--love/comments/commentRss/325385.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jasmine214--love/services/trackbacks/325385.html</trackback:ping><description><![CDATA[转自：<a href="http://hi.baidu.com/zh%5Fm%5Fzhou/blog/item/5b78de129e72c6896538dbe4.html" target="_blank">http://hi.baidu.com/zh_m_zhou/blog/item/5b78de129e72c6896538dbe4.html</a><br />
作者：pocky<br /><br />
trunk就是主支，branches是分支，tags是最终发布的版本。<br /><br />
比如：<br /><br />
有1个产品的项目，有模块A,模块B,模块C。这个产品就应该放在trunk目录中。<br /><br />
有一天，客户要求购买这个项目，但他只需要模块A,模块B，同时需要定制他特有的模块D。这个时候，我们不可能将SVN中的模块C删除了，再加上模块D。
于是我们就需要建立branches目录了，最终的结果是trunk中是模块A,模块B,模块C，branches中是模块A,模块B,模块D。（其中模
块A,模块B应该是从trunk中继承过来的）这个就是原来产品的一个分支。<br /><br />
当用户要求的完成，并完成了相关测试的时候，我们就需要发布产品给客户使用了。这个时候，发布出来的版本就要放在tags目录中。发布在tags目录中的
版本不可被再修改。<br /><br />
参考文档：http://xingshaomin.javaeye.com/blog/121765<img src ="http://www.blogjava.net/jasmine214--love/aggbug/325385.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jasmine214--love/" target="_blank">幻海蓝梦</a> 2010-07-06 17:38 <a href="http://www.blogjava.net/jasmine214--love/archive/2010/07/06/325385.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>XP---极限编程</title><link>http://www.blogjava.net/jasmine214--love/archive/2010/06/13/323539.html</link><dc:creator>幻海蓝梦</dc:creator><author>幻海蓝梦</author><pubDate>Sun, 13 Jun 2010 11:18:00 GMT</pubDate><guid>http://www.blogjava.net/jasmine214--love/archive/2010/06/13/323539.html</guid><wfw:comment>http://www.blogjava.net/jasmine214--love/comments/323539.html</wfw:comment><comments>http://www.blogjava.net/jasmine214--love/archive/2010/06/13/323539.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jasmine214--love/comments/commentRss/323539.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jasmine214--love/services/trackbacks/323539.html</trackback:ping><description><![CDATA[
		<p>出处：http://hi.baidu.com/caesarsword/blog/item/00f8771d41361b06304e1558.html<br /></p>
		<p>1.什么是xp编程(极限编程):</p>
		<p>XP是勇气，交流，反馈和简单。<br />
XP是软件开发过程中的纪律，它规定你：必须在编程前些测试，必须两个人一起编程，必须遵守编程规范……。<br />
XP是把最好的实践经验提取出来，形成了一个崭新的开发方法。</p>
		<p>2. XP适用范围:</p>
		<p>极限编程，也被叫做XP，适用于中小型团队在需求不明确或者迅速变化的情况下进行软件开发的轻量级方法学。<br />
推荐使用范围为10人左右的团队</p>
		<p>3.XP工作模式体现:</p>
		<p>一、工作环境<br />
二、立式晨会<br />
三、结对编程<br />
四、测试驱动开发<br />
五、重构<br />
六、持续集成<br />
七、频繁地发布小版本</p>
		<p>4.结对编程:</p>
		<p>开发任务会细化分解为很多Task，一个Task的开发周期一般不超过2天。<br />
每个Task的Owner会寻找一个Partner进行结对开发。<br />
Task开发的次序由程序员们自己协商。他可以先作为Partner和其他Owner一起开发某个Task，然后再找另一个程序员作为Partner来共
同开发自己承担的Task。<br />
结对开发时，Task的Owner主要负责编码， 
Partner负责在一旁看Owner编程并在其编写有错误提出自己的意见，当其遇到困难时一起讨论、互相帮助完成任务</p>
		<p>5.测试驱动开发:</p>
		<p>在动手编码之前，必须先写功能测试脚本、单元测试脚本。<br />
写好测试脚本后，开始编码、重构、运行单元测试、集成、运行功能测试，以此循环</p>
		<p>6.重构:</p>
		<p>减少重复设计，优化设计结构，提高技术上的重用性和可扩展性。<br />
XP提倡毫不留情的重构。<br />
任何人可以重构任何代码，前提是重构后的代码一定要通过100%测试单元测试后才能被Check-in</p>
		<p>7.持续集成:</p>
		<p>测试先行是持续集成的一个重要前提。<br />
持续集成指不断地把完成的功能模块整合在一起。目的在于不断获得客户反馈以及尽早发现BUG。<br />
随时整合，越频繁越好；集成及测试过程的自动化程度越高越好。<br />
每次只有一个新增加部分在整合，而且必须运行功能测试</p>
		<p>8.频繁地发布小版本:</p>
		<p>发布过程应该尽可能地自动化、规范化。<br />
不断地发布可用的系统可以告诉客户你在做正确的事情。<br />
客户使用发布的系统，可以保证频繁地反馈和交流。<br />
保证客户有足够的依据调控开发过程(增加、删除或改变需求)。<br />
降低开发风险。<br />
随着开发的推进，发布越来越频繁。<br />
所有的发布都要经过功能测试。</p>
		<p>9.XP的关键词:</p>
		<p>测试优先原则<br />
结对编程 <br />
持续集成<br />
频繁小版本<br />
不断重构<br />
立式晨会<br />
交流和沟通，“只有没有沟通不够的项目，没有沟通过度的项目”<br />
分解任务、制定计划是关键一环</p>
		<p>10.XP作用:</p>
		<p>一、平稳的工作效率</p>
		<p>平稳的工作效率指团队和个人在很长的时期内保持一定的开发效率。<br />
保证了项目速度和计划过程的有效性和准确性；<br />
保证了程序员可以持续地完成任务，团队可以持续地向客户交付可运行的系统；<br />
结对编程已经加大了工作强度，并且和其它XP的规则一起提高了工作效率，使少加班和维持平稳的工作效率可能而且可行。<br />
提倡平稳的工作效率，体现了XP以人为本的价值观。<br />
二、高质量</p>
		<p>测试优先、并坚持单元测试、每个版本进行功能测试的原则是保证了高质量的一个关键；<br />
充分的沟通交流进一步减少了写低质量代码的风险；<br />
结对开发模式在互相学习中会产出高质量的代码<br />
三、Open</p>
		<p>结对开发、每一处修改都需要测试等等规则使得实现集体拥有代码， “我们”的代码，而不是“我”的代码；<br />
充分的沟通交流可以将每个人的知识、思想共享；<br />
让每个人都知道项目的设计、计划、进展情况等信息；<br />
大家都知道每个人都在做什么和怎么做；<br />
四、对人的挑战<br />
暴露自己的缺点，人的本性<br />
懒惰<br />
自尊<br />
封闭<br />
……</p>
		<p>克服自己的缺点<br />
高效率<br />
不怕告诉别人自己不会，乐于问人<br />
懂得尊重别人，乐于帮助别人<br />
……</p>
		<p>11.受益于XP:</p>
		<p>一个曾经在XP模式下工作过的人，回到传统开发模式下才深刻体会到XP给他带来的财富。<br />
在传统开发模式下他坚持每天有计划、总结，坚持测试驱动开发……<br />
发现他总是按时下班甚至提前下班，可是同事们越来越多且越来越晚下班，是自己不认真？是同事们爱表现？……<br />
都不是！！<br />
是XP给他带来的受益终身的开发方式，他的同事bug量远远比他多，他只有不多的几个;同事们任务总是延时，而自己都是轻松按时完成……</p>
<img src ="http://www.blogjava.net/jasmine214--love/aggbug/323539.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jasmine214--love/" target="_blank">幻海蓝梦</a> 2010-06-13 19:18 <a href="http://www.blogjava.net/jasmine214--love/archive/2010/06/13/323539.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>WIKI---项目文档</title><link>http://www.blogjava.net/jasmine214--love/archive/2010/06/13/323537.html</link><dc:creator>幻海蓝梦</dc:creator><author>幻海蓝梦</author><pubDate>Sun, 13 Jun 2010 11:02:00 GMT</pubDate><guid>http://www.blogjava.net/jasmine214--love/archive/2010/06/13/323537.html</guid><wfw:comment>http://www.blogjava.net/jasmine214--love/comments/323537.html</wfw:comment><comments>http://www.blogjava.net/jasmine214--love/archive/2010/06/13/323537.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jasmine214--love/comments/commentRss/323537.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jasmine214--love/services/trackbacks/323537.html</trackback:ping><description><![CDATA[出处：http://www.blogjava.net/zbw25/　<br /><br />大多数程序员，都极度痛恨写文档。Coding是愉快的，而Write是痛苦的。有一部分原因，其实是要归咎于程序员自身，以我的经验，很多
程序员往往会“艰于表达”，尤其是用“文字、图表、PPT、Word”之类的Office 
Document来表达。当然，还有一部分原因，是由于很多项目开发实践中，文档的前后矛盾、形式主义、反复修改、歧义重重，常常让程序员们抓狂。
		<div> </div><div>　　UML是一个比较好的工具，但是，仅仅靠UML，是无法将项目的知识描述清楚的。也有不少项目组在引入了UML之后发现，文档的工作量
不但没有减少，而是更多了。随着项目的进展，需要维护的设计文档数量，也更多了。也因此造成了更多的前后矛盾，形式主义，反复修改。</div><div> </div><div>　　根本的痛苦，并不在于一开始写一份文档，而在于所有写下的文档，都必须跟随项目的进展而随之变化。当我们写出来的文档越多，需要被持续
维护的文档也就越多，需要反复检查文档间的可能存在的矛盾也就越多，所有扔出去的石头，最后都会落回到自己头上。</div><div> </div><div>　　于是，还有不少项目组，将文档工作与代码工作截然分开，文档就写一次，用来应付上面的管理层，而代码自管自的继续开发。对于小型项目来
说，这其实是一个不错的权宜之计。但是一旦项目越来越庞大、复杂。所有的隐性的知识，都仅仅存在于程序员的脑子里，所有成文的东西，都可能是错的，而真实
的情况，却隐藏在代码之中。如果代码质量再糟糕一些，后来维护的朋友，就遭遇火坑了。</div><div> </div><div>　　文档，写还是不写，这是一个问题！</div><div> </div><div>　　还记得测试驱动开发吗？为自己的每一个方法，每一个类，都写出单元测试来。不但如此，更加彻底的做法是，在写代码之前，先写测试用例。
这样才能保证不会忘记写测试用例。更大的好处在于，这样有助于思考、有助于获得更加完善的设计，有助于写出更加高质量的代码，有助于安全的重构，有助于自
动化的持续集成实践。总之，是好得不能再好的一项开发实践。</div><div> </div><div>　　这一实践之所以可行，就在于他将繁杂的集中的测试工作，分解为日常的，必须不断进行的工作。当你每天都在写测试用例，当你的每一个测试
用例，都能够与代码完全对应时，压力反而减轻了，工作量也更少了，更重要的，一些优良的习惯也因此被养成了。</div><div> </div><div>　　在两年前，我要开始一个全新的P2P网络电视项目时，也在考虑关于文档的问题。当时我发现了Open 
Source的WikiPedia。这是一个PHP的WIKI，最大的应用是维基百科全书。因此，这个项目的质量就绝对值得信赖。我就将它拿过来，作为我
们项目文档管理的工具。</div><div> </div><div>　　用Wiki来管理项目文档，基于以下一些考虑：</div><p><font style="background-color: rgb(255, 255, 255);" color="#0000ff">文
档是项目的知识，这些知识必须集中管理、容易获取、人人可以编辑。 </font></p><p><font style="background-color: rgb(255, 255, 255);" color="#0000ff">项
目在生长，代码在增加，文档也必须能够跟随项目自然生长，强行划分设计阶段和开发阶段，是不可取的。 </font></p><p><font style="background-color: rgb(255, 255, 255);" color="#0000ff">Wiki
不是传统的项目文档，而是一个应交流需要，可能随时增删改的知识库。项目组的成员，遇到问题，就应该首先查看Wiki，如果这是Wiki中没有，那么他应
该找人询问。而那个知道答案的人，如果他不想再今后不断的回答同一问题，就应该把这个答案写入Wiki，这就是Wiki条目增长的自然动力。 </font></p><p><font style="background-color: rgb(255, 255, 255);" color="#008000"><font color="#0000ff">传统文档最大的问题在于浪费，而Wiki通过持续修改，按需提供的方式，保证了所有写下的文
字，一定有超过一个人需要读它。</font></font></p><div> </div><div>　　在Wikipedia的基础上，我又做了一些增强，以更好的辅助项目的管理。</div><p><font color="#0000ff">Include功能，增加include标签，可以在一个条目中，引入其他条目的全文，而不是仅仅
增加一个link。 </font></p><p><font color="#0000ff">文档的层次结构，当项目的文档条目逐渐增加，分门别类的条目，更加便于查找，也可以有效的避免条目
重名的问题。 </font></p><p><font color="#0000ff">一个Click，就能够创建新一个条目，用于填写当天的工作安排。 </font></p><div>　　相应的管理制度，也必须建立起来。</div><p><font color="#0000ff">每日15分钟文档制度，基于“填写当日工作”的功能，我规定每个项目组成员，每天要花三个5分钟来
写文档，早上的5分钟，填写当日工作计划。中午的5分钟填写上午的工作情况，下班前的5分钟，填写下午的工作情况。这样，每天的文档工作相当轻松，但是文
档能够保证持续的跟随项目成长下去。更进一步的，这样的制度，对于项目的进度控制，也很有帮助。 </font></p><p><font color="#0000ff">User Case条目驱动，所有分解出去的User 
Case，在分配到责任人之后，该责任人的第一项工作，就是在Wiki中写下对于这个User 
Case的理解。随后项目进展，也应该持续的维护这个条目。 </font></p><p><font color="#0000ff">同时进行Bug的管理，Bug也作为Wiki中的条目，以便于和其他条目项目引用。 </font></p><p><font color="#0000ff">每次Check In 
CVS时，必须写注释。这是更加细节的文档，然后我还做了一个小程序，能够自动的从CVSTrac中读出当天Check 
In代码的注释。供每个人在写当天文档的时候引用。 </font></p><div>　　总而言之，我对于项目文档的看法，并不是非此即彼的极端主义者。在我看来，好的项目文档管理政策，应该有助于集中团队知识和智慧，同时
不要让程序员痛苦和反感。这样才叫做有效的项目管理。仿造Martin 
Fowler的著名文献《持续集成》，我给这篇Blog起这样一个名字《软件开发文档的持续集成》，希望能够引发更多的、更深入的思考。</div><img src ="http://www.blogjava.net/jasmine214--love/aggbug/323537.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jasmine214--love/" target="_blank">幻海蓝梦</a> 2010-06-13 19:02 <a href="http://www.blogjava.net/jasmine214--love/archive/2010/06/13/323537.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>XP--结对编程---新人培训机制</title><link>http://www.blogjava.net/jasmine214--love/archive/2010/06/13/323536.html</link><dc:creator>幻海蓝梦</dc:creator><author>幻海蓝梦</author><pubDate>Sun, 13 Jun 2010 10:59:00 GMT</pubDate><guid>http://www.blogjava.net/jasmine214--love/archive/2010/06/13/323536.html</guid><wfw:comment>http://www.blogjava.net/jasmine214--love/comments/323536.html</wfw:comment><comments>http://www.blogjava.net/jasmine214--love/archive/2010/06/13/323536.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jasmine214--love/comments/commentRss/323536.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jasmine214--love/services/trackbacks/323536.html</trackback:ping><description><![CDATA[出处：http://www.blogjava.net/zbw25/
　 <br /><div>我们现在这个公司的大老板，平时在三楼办公。但是，每天都会有几次，他会在我们的办公室里走来走
去——“进行着聊胜于无的监督工作”。</div><div> </div><div>　　我想，他大概没有听说过“XP”、“结对编程”这样的名词。</div><div> </div><div>　　4月15日，周六，我参加了BEA上海User 
Group的一次活动。北京来的Charls，做了一次非常精彩的演讲。名字叫做《一个Xper的心路历程》。全场笑声不断，Charls的感染力征服了
每一个人。<br /></div><div>　　演讲最后提出的一个观点是：“成为一个Xper，就是成为一个合格的程序员”。要勇于暴露自己的不足，要善于沟通，要谦虚，要有计
划，要……做到了这些，我们才算是“刚刚够格”。</div><div> </div><div>　　我基本上已经被说服了……在Charls演讲结束的时候，我只想问一个小问题。因为他说，在项目组里，如果有人遇到问题，不要自己
偷偷摸摸
的Google搞定，而是应该马上“举手”，看看小组里有没有人能够马上告诉你答案。这才是“勇于暴露自己的不足”。而我还想从另外一个角度问一下。</div><div> </div><div>　　（以下对话是一个大概的回忆）</div><div> </div><div>　　“我一直以来的工作方式是这样的，遇到问题的时候，首先Google一下，这样我不但可以找到当前这个问题的答案，还能够了解很多
周边的知识，触类旁通。如果直接问人的话，问题解决，我也就不再深入了。这样是不是对于个人能力成长不太有利呀。”</div><div>　　Charls：“项目进度在那里，当然是马上解决问题最好。”</div><div>　　我：“那么我们是不是可以这么理解，XP对于项目开发的目标很有效，而对于程序员个人能力的成长目标，不是很有效？”</div><div>　　Charls：“我一直这么说，XP更加高级的剥削方式……”</div><div> </div><div>　　顿时，我豁然开朗。XP的好处，从老板的角度来看，应该更多：</div><div> </div><div>　　结对编程——最有效的相互监督机制<br />　　结对编程——最有效的内部培训机制<br />　　测试驱动开发——最有效的质量保证体
系<br />　　User Story＋客户现场办公——最低成本的需求收集、分析机制<br />　　每日集成——有效降低集成、测试成本<br />　　…….</div><div>　　从程序员的角度来说，这些“与我何干”呢？</div><div><br />　　所以，一个追求利润最大化的老板，就应该选择XP，而一个聪明的老板，不但要运用XP，还要保证8小时工作制，甚至给员工20%
的
On Beach时间(来源于Gigix对于ThroughWorks的介绍)。这样才能保持员工的可持续编程能力。如果我是老板的话，我就会这么干！<br />　
　那天讨论的话题中，还有一些XP没能够很好回答的问题：<br />　　比如文档。在我以前的开发实践中，我们都建立了一个Wiki，并且强制程序员每人每
天就Wiki几次，以分散写文档的压力。<br />　　比如对于人员的高要求的疑问。我的理解是，XP对人员提出了很高的要求，但是同时也提供了最有效的人
员培训机制（结对编程），所以，对于入职人员的要求，并不需要很高，更多的是考察一个人的沟通能力、学习能力，而不是开发的能力。</div><br /><img src ="http://www.blogjava.net/jasmine214--love/aggbug/323536.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jasmine214--love/" target="_blank">幻海蓝梦</a> 2010-06-13 18:59 <a href="http://www.blogjava.net/jasmine214--love/archive/2010/06/13/323536.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>