由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
DotNet版 - 大家谈谈S.O.L.I.D.用在project上的经验教训。 (转载)
相关主题
mvc还是mvp ,哪个好?Webforms vs. MVC
.net前途如何?想换工作了。。。唉
Tried Visual Studio 2005 Beta感觉MVC比web form好用多了
how to do the same thing that one can do in eclipse using ctrl+shift+f新手提问:如何理解MVC中的前端(Frontend)和后端(backend)?
大家把一个solution分成几个部分吗,web app, business logic layer,xxx layer...MVC效率高一些,可是大项目也不可以推倒重做呀。
A question about MVCTest Driven Development可行性有多少?
问个MVC3的问题Entity framework
[讨论]Does asp.net start from the wrong foot?调查一下
相关话题的讨论汇总
话题: project话题: 经验教训话题: 谈谈话题: mvc话题: solid
进入DotNet版参与讨论
1 (共1页)
c*********e
发帖数: 16335
1
【 以下文字转载自 Programming 讨论区 】
发信人: convergence (Rex), 信区: Programming
标 题: 大家谈谈S.O.L.I.D.用在project上的经验教训。
发信站: BBS 未名空间站 (Thu Nov 28 22:57:24 2013, 美东)
谢谢。对S.O.L.I.D.仅有理论上的一些理解,没有很多实际project时的深刻领悟。请
大牛谈谈S.O.L.I.D.用在project上的经验教训。谢谢。
k**n
发帖数: 3989
2
呵呵,, 这个其实很难的.
比如single responsibility ,大家都认为很容易,但在实际上没有TEAM会真正做好。
而且每个人对singled的界定不一样。
OpenClose, 估计刚学oo编程的人就只到。但实际什么时候该用,如何用,还是简单的
if switch就能满足。
至于后面的。。就更难了。
学习一点用IOC的实例可能会帮助理解。但实际工作中用IOC需要整个team都能明白才行。
我觉得想进行solid的实践,从学习写unit test,并用一些mock工具比如moq, 并
refactor你现有程序开始, 比较实际可行。

【在 c*********e 的大作中提到】
: 【 以下文字转载自 Programming 讨论区 】
: 发信人: convergence (Rex), 信区: Programming
: 标 题: 大家谈谈S.O.L.I.D.用在project上的经验教训。
: 发信站: BBS 未名空间站 (Thu Nov 28 22:57:24 2013, 美东)
: 谢谢。对S.O.L.I.D.仅有理论上的一些理解,没有很多实际project时的深刻领悟。请
: 大牛谈谈S.O.L.I.D.用在project上的经验教训。谢谢。

c*********e
发帖数: 16335
3
en,我也觉得solid是听起来很容易,很简单,但是到了大的project实际应用的时候,
非常难的事情。

行。

【在 k**n 的大作中提到】
: 呵呵,, 这个其实很难的.
: 比如single responsibility ,大家都认为很容易,但在实际上没有TEAM会真正做好。
: 而且每个人对singled的界定不一样。
: OpenClose, 估计刚学oo编程的人就只到。但实际什么时候该用,如何用,还是简单的
: if switch就能满足。
: 至于后面的。。就更难了。
: 学习一点用IOC的实例可能会帮助理解。但实际工作中用IOC需要整个team都能明白才行。
: 我觉得想进行solid的实践,从学习写unit test,并用一些mock工具比如moq, 并
: refactor你现有程序开始, 比较实际可行。

S***k
发帖数: 370
4
我的教训是但凡把solid, design pattern挂在嘴边的时候,就是project要fail的前兆
k****i
发帖数: 1072
5
这个不要误导。

【在 S***k 的大作中提到】
: 我的教训是但凡把solid, design pattern挂在嘴边的时候,就是project要fail的前兆
: 。

c*********e
发帖数: 16335
6
現在公司里整天在提solid,refactoring,想把web form application改成mvp或者mvc架
构。

【在 S***k 的大作中提到】
: 我的教训是但凡把solid, design pattern挂在嘴边的时候,就是project要fail的前兆
: 。

S***k
发帖数: 370
7
怎么误导了?你有没有想过为什么会出现需要把这些基本design principle放在嘴边的
情形?
这些基本的东西用起来应该是自然而然的事情,不能为了用而用。如果需要不停的提,
说明用的不是地方,用的不对,或者组里大部分人不能理解用法。即使把project给
release了,以后的bug fix,maintenance 都会比较困难。这同desing principle的本
意背道相驰。

【在 k****i 的大作中提到】
: 这个不要误导。
S***k
发帖数: 370
8
It is not necessary to change web form to mvc project. The mvc architecture
patter could be applied and implemented in web form project too. The MS MVC
framework just makes the implementation much easier.
But I think you should happy with this change. It is helpful for your resume
. We, programmers, do not need to worry company's products at all.

【在 c*********e 的大作中提到】
: 現在公司里整天在提solid,refactoring,想把web form application改成mvp或者mvc架
: 构。

k****i
发帖数: 1072
9
你没有mentor过Junior developers? Day one就要把code standard, design
principle强调一百遍;code review的时候不断的强化。当每个人的style和习惯都不
一样时才是最难管理和maintain的。用的不是地方,用的不对不是priciple的错。
举个例子,对所有members强调DRY principle是让maintenance容易了还是更难了?
养成良好的习惯对Junior developer很重要,我觉得你说的很容易误导新手.

【在 S***k 的大作中提到】
: 怎么误导了?你有没有想过为什么会出现需要把这些基本design principle放在嘴边的
: 情形?
: 这些基本的东西用起来应该是自然而然的事情,不能为了用而用。如果需要不停的提,
: 说明用的不是地方,用的不对,或者组里大部分人不能理解用法。即使把project给
: release了,以后的bug fix,maintenance 都会比较困难。这同desing principle的本
: 意背道相驰。

S***k
发帖数: 370
10
您老从哪里看出来我说principle有错了?
我这想造反的junior天天鄙视code standard,就差出个用自己名字命名的pettern.
check-in uncompilable code 容易被发现,就在dynamic binding时候在production
上出runtime bug.

【在 k****i 的大作中提到】
: 你没有mentor过Junior developers? Day one就要把code standard, design
: principle强调一百遍;code review的时候不断的强化。当每个人的style和习惯都不
: 一样时才是最难管理和maintain的。用的不是地方,用的不对不是priciple的错。
: 举个例子,对所有members强调DRY principle是让maintenance容易了还是更难了?
: 养成良好的习惯对Junior developer很重要,我觉得你说的很容易误导新手.

s***o
发帖数: 2191
11
TDD。tests都写顺溜了,code也就基本都SOLID了。

【在 c*********e 的大作中提到】
: 現在公司里整天在提solid,refactoring,想把web form application改成mvp或者mvc架
: 构。

c*********e
发帖数: 16335
12
公司用的是那种automated test,自动在input里输入测试的数据,比如自动输入用户名
,密码什么的,连鼠标hover, 右击都可以在自动测试里做出来。这样,下班前开始定
时测试,第二天上班看结果,非常方便。没用vs自带的test,不是很方便。
其实,solid基本上是神仙才能做到的事情。一个project,版本升级后,很多测试都要
改一下一下,比如菜单变了啊,界面变了啊,都会影响到test.

【在 s***o 的大作中提到】
: TDD。tests都写顺溜了,code也就基本都SOLID了。
s***o
发帖数: 2191
13
你说的这些看上去都是UI tests。TDD是unit tests, 广义上也可以包括integration
tests。

【在 c*********e 的大作中提到】
: 公司用的是那种automated test,自动在input里输入测试的数据,比如自动输入用户名
: ,密码什么的,连鼠标hover, 右击都可以在自动测试里做出来。这样,下班前开始定
: 时测试,第二天上班看结果,非常方便。没用vs自带的test,不是很方便。
: 其实,solid基本上是神仙才能做到的事情。一个project,版本升级后,很多测试都要
: 改一下一下,比如菜单变了啊,界面变了啊,都会影响到test.

c*********e
发帖数: 16335
14
发现ui test更贴近客户的需求。因为客户看到的,只是ui.如果ui对了,就能把客户骗
住了。

【在 s***o 的大作中提到】
: 你说的这些看上去都是UI tests。TDD是unit tests, 广义上也可以包括integration
: tests。

1 (共1页)
进入DotNet版参与讨论
相关主题
调查一下大家把一个solution分成几个部分吗,web app, business logic layer,xxx layer...
Maverick for dotnet: MVC for web publishA question about MVC
我用asp.net写的网站,各位给提提意见问个MVC3的问题
How do you like ASP.NET MVC?[讨论]Does asp.net start from the wrong foot?
mvc还是mvp ,哪个好?Webforms vs. MVC
.net前途如何?想换工作了。。。唉
Tried Visual Studio 2005 Beta感觉MVC比web form好用多了
how to do the same thing that one can do in eclipse using ctrl+shift+f新手提问:如何理解MVC中的前端(Frontend)和后端(backend)?
相关话题的讨论汇总
话题: project话题: 经验教训话题: 谈谈话题: mvc话题: solid