1
chainchan 2012-04-06 11:06:47 +08:00
|
2
avatasia 2012-04-06 11:15:13 +08:00
设计模式和UML会拉长你的产品周期,这些都是牛人想出来的东西,普世价值不高,建议用笨方法写代码,等产品出来再去搞设计模式去优化。
|
3
HowardMei OP 谢谢 @chainchan @avatasia
我隐约也觉得UML对一般工程师/团队/需求不明朗的项目没什么作用,不是什么都能事先想清楚的,除非架构师功力深厚到炉火纯青的地步,架构一出来能适应80%以上的用例;设计模式也只是解决了部分编码问题,菜鸟也不可能凭空应用自如;看来敏捷开发、快速迭代的进化方式才是最好做法,但到底有哪些值得效仿的Best Practices呢,个人开发不需严格内部流程,如果是团队开发,除了代码版本控制、项目管理等通常做法,还有哪些方面是确保“敏捷开发、快速迭代”要注意的呢? 好吧,看来标题应该改一改,其实我不在乎啥好书(从来没想过做专职程序员^_^),在乎的是怎么配合(假定有资深工程师领导团队实施敏捷开发)或配置一个团队(假定运气不好,需要自己从头逐步组建一个高效团队),进行敏捷开发、快速迭代,在开发过程中把自己的构想和市场需求结合起来,同时又不给软件工程师们带来太多麻烦,更不会做无用功、浪费人力财力。 一个非资深云端软件创业者,要想开发一个技术密集的软件产品(Online service + Industrial Applications <此处为难点,隔行如隔山> + Community Interactions),应该如何打通沟通难关,采用高效合理的流程配合或配置开发团队,让Minimum Available Product尽快出来,形成产品的快速迭代。 |
4
HowardMei OP 是否所有行业软件的开发团队领导者,都必须是行业+软件两方面的资深人士才行呢?这是最让人困扰的地方,跨行精通真得很难呀,可如果不如此,连需求沟通都会存在问题。
软件工程发展到今天,我相信肯定早有方法和Best Practices解决这些问题,有那么多外包项目存在就说明了这点,只是我不知道而已,所以想请教大牛们,不一定能从书里找到,经验之谈或许更好^_^ |
5
ufo22940268 2012-04-06 15:04:05 +08:00
@avatasia 那如果看高手写的源码的话,如果在熟悉设计模式的前提下,看起来不就能容易很多?
|
6
avatasia 2012-04-06 15:14:44 +08:00
@ufo22940268 你8个小时能看懂多少高手的代码? 或者目前开源的大型项目,哪个你有精通的? firefox? chrome?或者webkit等等。
twitter bootstrap的less code,你有看过一遍么? 这个影响你使用bootstrap做些东西么? 如果要做东西,不要让工具浪费时间。 |
7
HowardMei OP @ufo22940268 我开始也是这样想的,但现在觉得不太靠谱。因为无法通过看到的结果,反推出他们的构建过程,因此也就毫无借鉴意义。只是把代码拿来抄抄改改,是做不出好东西的,只能说勉强可以用用。就算自己/团队成员水平足够看懂高手代码,能够借鉴而非照抄,也只不过能改善局部代码质量,实现若干功能模块,对整个项目整体还是远远不够的。
@avatasia 是的,如果只是当工具使用,完全没必要弄清楚其实现细节。要想知道他们怎么做的,光看源代码也很难看出来,只是隐约觉得他们都遵循了一定的规则,至于这个规则是什么,为啥不同团队搞出来的精彩产品都有共同特性。 这个就是关键所在了,俺这样的菜鸟属盲人摸象那种,只知道它在那儿,都不知道摸到的是头还是屁股 XD |
8
lldong 2012-04-06 15:50:23 +08:00
UML Distilled不错
http://book.douban.com/subject/1460848/ |
9
avatasia 2012-04-06 16:29:45 +08:00
我现在按照自己的想法做东西,有时候看看别人的, 发现别人也在考虑同样的事情,然后有些高手也做出来了,这个就是要借鉴的地方,关键还是看自己。
|