敏捷开发松结对编程系列:L型代码结构案例StatusFiltersDropdownList(上)
这是松结对编程的第21篇(专栏目录)。
本文以一个完整案例展示代码分层及在松结对编程组中师傅与徒弟的分工。
松结对编程(以及结对编程、代码审查……等)是最末级的管理实践,其实施过程必须与工程实践相结合。比如代码怎么分层,函数怎么写,都是这种管理实践的一部分。
阅读本文整体上不需要了解“L型代码结构”。但如果中途对“L型代码结构”一词感到困惑,请参考:http://blog.csdn.net/cheny_com/article/details/7889796
要解决的问题
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
代码逐层结构分析
筛选条件表达
http://localhost:54364/ProductManagement/StoryTrees/OperateTree?rootID=3&whats=STRY&whattypes=STRY-SUBS_..._&statusIds=_509_
509就是当前的筛选Status的ID(可以是多个,用来处理“所有故事板上的状态”这类情况,比如:)
http://localhost:54364/ProductManagement/StoryTrees/OperateTree?rootID=3&whats=STRY&whattypes=STRY-SUBS..._&statusIds=_509__510_
控件引用
控件引用其实决定了控件的接口,是第一个要想好的东西。接口中如果有冗余信息,则表明里边的代码也一定不干净。
其实一行(下面代码中的第四行):
<div class="link-span">视图:@Product.AllLinks(this)</div><div class="link-span">根节点:@Item.AncestorsDropdownList(this, "rootID", "id", ItemWhattype.ProductProduct, true, true)</div><div class="link-span">@Item.TypeFiltersDropdownList(this, SystemItemWhat.Story)</div><div class="link-span spliter">@Item.StatusFiltersDropdownList(this)</div>
因为需要动用URL,所以传递this(WebViewPage,当前页面)进去。
业务代码设计原则
敏捷开发松结对编程系列:L型代码结构案例StatusFiltersDropdownList(上)相关推荐
- 敏捷开发“松结对编程”系列之十一:L型代码结构(团队篇之一)
本文是"松结对编程"系列的第十一篇.(松结对编程栏目目录) 上一篇中提到的技术方法都不太难,但问题是为什么很多团队做不到呢?问题在于: 高手可以每次都写出可复用的代码,从而大大地降 ...
- 敏捷开发“松结对编程”系列之十二:L型代码结构(质量篇之一)
本文是"松结对编程"系列的第十二篇.(松结对编程栏目目录) 有没有一种管理方法,无需额外的测试活动,就能大幅度提高产品质量?L型代码结构就是其中一种候选方案. 缺陷的来源 要减少缺 ...
- 敏捷开发“松结对编程”系列之十五:L型代码结构(编程篇之一)
本文是"松结对编程"系列的第十五篇.(松结对编程栏目目录) 之前的L型代码结构的前三篇提到过,L型代码结构的微观计划和估算过程会与一般的编程方法不同,今天正好要编写一些新代码,边写 ...
- 敏捷开发松结对编程系列:L型代码结构案例StatusFiltersDropdownList(下)
这是松结对编程的第23篇(专栏目录). 接上文,45分钟后-- 新的筛选效果 现在需要在下拉框上加上两排新的筛选项(更早和更晚): 师傅本人可以在45分钟完成(实测),但如果直接交给徒弟维护(或师傅离 ...
- 敏捷开发“松结对编程”系列之七:问题集之一
本文是"松结对编程"系列的第七篇.(之一,之二,之三,之四,之五,之六,之七,之八) 刚刚参加完MPD 2011深圳站,在演讲中间及后来媒体采访,被问到了一些问题,也给出了答案,这 ...
- 敏捷开发“松结对编程”实践之五:代码检查篇(大型研发团队,学习型团队,139团队,师徒制度,代码审查)...
本文是"松结对编程"系列的第五篇.(之一,之二,之三,之四,之五,之六,之七,之八) 松结对和紧结对不一样,两个人不是总坐在一起随时发现问题解决问题,而是很短时间地坐在一起.其中在 ...
- 敏捷开发“松结对编程”系列之八:微软 Tech ed2011 自组织团队与松结对编程讲稿(敏捷开发)...
本文是"松结对编程"系列的第八篇.(之一,之二,之三,之四,之五,之六,之七,之八) 好像微软自己也有一个无纸下载处,但是手册不在身边没搜到,这里补充一个下载链接. 无需积分,但需 ...
- 敏捷开发“松结对编程”系列之八:微软 Tech ed2011 自组织团队与松结对编程讲稿(敏捷开发)
本文是"松结对编程"系列的第八篇.(之一,之二,之三,之四,之五,之六,之七,之八,此系列之九及之后文章请见栏目总目录.) 好像微软自己也有一个无纸下载处,但是手册不在身边没搜到, ...
- 敏捷开发“松结对编程”实践之六:大型团队篇|后记(大型研发团队,学习型团队,139团队,师徒制度,人员招聘,职业生涯规划)...
本文是"松结对编程"系列的第六篇.(之一,之二,之三,之四,之五,之六,之七,之八) 松结对编程是小型团队的实践,大约运行在1个师傅+1-3个徒弟的尺度上,当面临更大尺度的时候,就 ...
最新文章
- OPPO A59s手机系统时间停止运行
- Windows2000下Api函数的拦截分析
- JAVA设计模式初探之组合模式
- java char i=2+#039;2#039;;_图说String(三)String中#039;+#039;和StringBuilder的区别
- 建行计算机招聘考试考什么,银行招聘考试考什么
- Gram-Schmidt正交化
- gan网络损失函数_生成对抗网络的最新研究进展
- Scala(第五节)actor并发编程、文件操作和网络请求、隐式转换和隐式参数、Akka并发编程、Akka模拟简易Spark通信
- socket通信显示连接被拒绝问题总结
- vue中computer和watch的区别和使用
- python中函数的定义通常会从关键字_4.7. 深入 Python 函数定义
- 2021 春季新品发布会上,苹果推出了全新配件 AirTag
- foxmail发邮件时总提示接收密码错误是怎么回事
- 修复损坏的gz或tar.gz压缩文件之方法篇
- “币圈贾跃亭”天价碰瓷巴菲特,王小川隔空回应:骗子!
- 作业盒子生端AndrOid,作业盒子小学学生端
- 车间数字孪生解决方案(二)
- emmc芯片读写,读不出来数据?
- LeGO-LOAM LoopClosure
- 删除windows回收站右键菜单中的“找回清空文件”
热门文章
- 深度学习·理论篇(2023版)·第001篇快速了解人工智能与Pytorch:机器/表示/深度学习定义+端到端的学习+神经网络在计算机视觉应用+深度学习的技术蓝图
- python兔子生兔子
- 巫师编程语言“咒语” 设想
- Can't create pdf file with font calibri bold 错误解决方案
- ES6数据部分(字符串,数组,对象,symbol,set,map)
- Unity学习笔记 球形全景图平面像素坐标与三维坐标系上的坐标之间的转换
- 筱筱看博客(函数柯里化、节流防抖)
- 线性代数笔记——第一章行列式
- 学python历程中
- Elasticsearch牛逼了! 这份携程、滴滴、今日头条、饿了么、360、小米、Vivo 应用实践合集都在这儿了...