时间又走到了一段时期的尽头,前面又是新的路

寒假PRP项目与测试驱动开发学习总结

三十多天的寒假是我有生以来最长的寒假,现在还清楚记得自己在寒假前给自己布置的许多任务。时间不等人,等我现在总结的时候,发现自己还是有许多遗憾,自己还是总是给自己留下遗憾,也发现自己有许多收获,自己也总给自己留下了收获。不过不管怎么样,这段时期的结束,就让我来给它做个备忘录吧,新的学期马上就要开始了,给新的学期留个参照也好。

 

       (一)PRP项目

上个学期的PRP项目没有完成,小组里成员在放假前,安排好了假期里的工作和任务,假期里主要的任务是完成Portal各个方面的编码。围绕着这个大主题,进而来学习一系列的知识。

建立Portal服务器,我选择用自己比较熟悉的tomcat和一个底部框架做的非常不错的Liferay-portal-pro-3.1。假期里通过使用,阅读源代码,去Liferayforum,了解了一些Liferay的特性,使用方法以及某些技巧。自己也在实践中写了几篇文章,放到自己在csdnblog上,希望自己的收获对别人也有所帮助。因为自己在使用Liferay的时候遇到了一些问题,找文档的时候也很辛苦,国内关于Liferay的文档也比较少。一个比较好的产品,如果开源,它的服务往往都是收费的,比如说Jboss

对于开源的软件,往往都有几个例子用来展示或是说明这个开源软件的功能或是使用方法,这些例子具有比较高的代表性,值得学习――通过读源代码,来了解功能的实现。开始的时候不知道如何写Portlet,不知道如何在Liferay里写Portlet,而Liferay里自带了许多Portlet的例子给了我很好的参考。我选择了一个天气预报的Portlet进行学习,在这个学习的过程中,我不但了解了Portlet的编写,而且自己也通过编写自己的Portlet,学习运用了SOAP的使用,学习了Axis。在阅读源代码的过程中,代码中用到的一些结构,一些design pattern,一些技巧,对自己的编码水平的提高都有很大的帮助。比如说Liferay里使用了Struts在实现MVC的架构,把Portlet里的doView, doEdit, doHelpStrutsaction来包装,通过好几个部署描述文件来松耦合代码,而对这种结构的理解就需要阅读某些类和文件的源代码,从中可以体会一些代码中表现出来的精髓。

由于这个PRP项目要三个部分合作完成,假期里由于种种原因,三个部分并没有完全组合进行实验,所以这个项目在假期里还是没有完成,是这个寒假最大的遗憾。

 

(二)关于测试

非常幸运,放假前我从图书馆借到了一本关于测试驱动开发的书――《测试驱动开发使用指南》。这本书是我假期里最爱不释手的一本书,原因是它真的很适合那些对于单元测试的概念、使用方法、以及它的好处很模糊的人,比如说我。

这本书中有大量的代码,使用JAVAJunit。如果你只是看看这些代码,可能会觉得很枯燥,但是如果照着这些代码实践一遍,不只是盲目的copy代码,或许就会体会到它的乐趣和价值。

在这本书上,用一个简单的java application来说明测试驱动开发的全过程,而这个全过程,对于我们以往做的一些大作业,是一个很好的范本。从需求到测试,从测试中表现出需求是否实现;从测试到编码,从测试中反映出代码的不足;循环增量式开发,如何从简单功能到复杂功能的实现。作者要表现的精髓都在这个过程中!

通过这本书,让我体会到了一些原来从老师那里听来的一些话:

“测试要跟编码一起,一边编码一边测试,单元测试要交给程序员来做。”通过书中的例子,让我充分的理解到这句话的道理。程序员对自己的编码中的基本功能进行测试,能保证自己编写代码的正确性,而对基本功能的测试,就好比a+3 == 6成立的条件是a == 3。只有最基本的功能保证无误,在这些基本功能上建立的复杂逻辑才能保证正确。平时写JAVA代码时,一个字符串变量s和一个字符串的比较经常会写成s == “string”,放到if的条件判断里都是false,而这种错误往往很难发现,通过单元测试就可以避免这种问题。使错误底层被发现并解决。程序员了解自己的代码,对自己写的代码进行及时的单元测试,简单而又有效率。

“编码和测试所占的时间,差不多一半一半”书中虽然是大片的代码,可是只把这个java application的代码拿出来,就少了一半多,光从数量上看就差不多一半一半了。因为每个类都有对应的测试类,类中每个功能函数,都有对应的测试,编写这些测试确实也占了很大的比重。这就能看出,很多程序员不愿意写测试代码,因为写完测试代码,有多了一倍的代码量。

 

在编码中,会遇到一些重复的代码,如何对这些代码进行重构,书中也有一些指点,而重构的好处,在测试代码执行的时间中就能稍微表现出来(测试代码也会重构的)。通过一个简单的例子来说明测试驱动开发的过程,但是你得到的远不只这些,这就是我的最大的收获。

<think> 我们正在解决用户问题:表头下无尽头下划线的处理方法 用户意图:解决表头下无尽头下划线的处理问题 根据问题,我们需要处理的是在表格或文档中表头下方的下划线一直延伸到页面边缘的情况(即无尽头下划线)。这种情况通常出现在Word文档或网页设计中。 我们将进行网络搜索,寻找解决方案。 搜索关键词:word 表头下划线 无尽头 另外,考虑到也可能出现在网页表格中,补充搜索:html table header underline full width 根据搜索结果,整理以下方法: 方法一:在Word文档中处理 1. 使用段落边框代替直接下划线 - 选中表头文字 - 在“开始”选项卡中,点击“边框”按钮(通常显示为田字格) - 选择“下边框” - 这样添加的下划线只会延伸到文字末尾,不会到页面边缘 2. 使用表格属性调整 - 将光标置于表头单元格内 - 右键选择“表格属性” - 在“表格”选项卡中点击“边框和底纹” - 在“边框”选项卡中,选择“自定义”,然后只设置下边框,应用于“单元格” - 这样边框只会出现在单元格底部,不会延伸到页面边缘 方法二:在HTML网页中处理 1. 使用CSS控制边框 为表头单元格(th)设置底部边框,而不是整个表格设置边框。同时确保表格宽度不会扩展到100%导致边框过长。 ```html <style> table { border-collapse: collapse; width: auto; /* 或者设置一个固定宽度,而不是100% */ } th { border-bottom: 1px solid #000; } </style> ``` 2. 使用伪元素控制下划线长度 如果希望下划线只延伸到文字内容末尾,可以使用伪元素: ```css th { position: relative; padding-bottom: 5px; } th::after { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; /* 这里可以根据需要调整,比如设置为50%则只有一半长度 */ height: 1px; background-color: black; } ``` 方法三:在Excel中处理 - Excel中通常不会有“无尽头下划线”的问题,因为单元格边框是受单元格宽度限制的。如果用户遇到类似问题,可能是因为使用了页面边框或绘制了线条。解决方法: 1. 检查是否使用了页面边框:在“页面布局”选项卡中,点击“页面边框”,检查是否设置了边框线。 2. 检查绘制的线条:如果手动绘制了线条,可以选中该线条并删除。 注意:用户问题中没有明确是哪种文档,因此提供了多种场景的解决方案。 根据要求,生成相关问题: §§相关问题§§: 1. 如何在Word中为表头添加双下划线? 2. HTML表格中如何设置表头底部边框与文字等宽? 3. 如何去除Word文档中整个页面的边框线? </think> ### 表头下无尽头下划线的处理方法 #### ▍Word文档解决方案 **方法1:段落边框替代下划线** 选中表头文本 → "开始"选项卡 → "段落"组 → "边框"下拉菜单 → 选择"下框线" 此方法创建仅覆盖文本宽度的下划线 **方法2:表格属性调整** 右击表格 → "表格属性" → "边框和底纹" → "边框"选项卡: - 预览区移除左右延伸的线条 - 仅保留底部边框 - 宽度设置为0.75pt(标准下划线粗细) ```xml <!-- Word底层XML结构示例 --> <w:tcBorders> <w:bottom w:val="single" w:sz="4" w:space="0" w:color="auto"/> </w:tcBorders> ``` #### ▍HTML/CSS解决方案 **方法1:伪元素精确控制** ```css th::after { content: ""; display: block; width: 50%; /* 控制下划线长度 */ height: 1px; background: #000; margin: 5px auto 0; /* 居中定位 */ } ``` **方法2:Flex容器隔离** ```html <div class="header-cell"> <span>表头文本</span> <div class="underline"></div> </div> ``` ```css .header-cell { display: flex; flex-direction: column; } .underline { border-bottom: 1px solid #000; width: 80%; /* 自由调节百分比 */ } ``` #### ▍Excel处理方案 **调整单元格边框属性** 1. 选中表头单元格区域 2. "开始"选项卡 → "字体"组 → "边框"按钮 3. 选择"其他边框" 4. 移除左右边框 → 仅设置底部边框 → 确认 **VBA自动处理** ```vba Sub FixHeaders() With Range("A1:D1").Borders .LineStyle = xlNone .Item(xlEdgeBottom).LineStyle = xlContinuous .Item(xlEdgeBottom).Weight = xlThin End With End Sub ``` #### ▍LaTeX文档方案 使用`\cline`替代`\hline`: ```latex \begin{tabular}{|c|c|} \cline{1-1} % 仅在1-1列添加下划线 \textbf{Header} & \\ \hline Content & Data \\ \end{tabular} ``` 效果公式: $ \text{下划线长度} = \text{文本宽度} \times \text{缩放因子} $ 缩放因子建议取值0.6-0.8
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值