关于技术,框架,概念,设计。


最近跟同事聊了个话题,这个话题其实不好,因为太大,此话题如题目。

这篇文章的起因是因为一句话:关心整体设计(解决方案)更重于基础(不仅仅是编码和框架基础)和技术实践。

其实这也是现在企业软件行内通行的一个弊病。到底提供解决方案的团队是否有更严谨的理论基础的问题。你在别人家跑的好,就一定会在我家跑的好?
其实行业软件本身足够大的时候本身就是一个本地化十分严重的产物,除非你不认命,但我发现不认命的几家的产品最后都流产了。这里我们不谈本地化重用设计的问题,以后有时间我会写出来。这里只讨论如下4个名词。

技术:Technology  框架:framework  概念 : conception 设计:Design

我们百度一下词条得到(我们假定认为百度词条上的解释是正确的)
 
          
不论何种文化,技术都是异曲同工的词汇。它可以指物质,如机器、硬件或器皿,但它也可以包含更广的架构,如系统、组织方法和技巧。技术它是知识进化的主体,由社会形塑或形塑社会。


框架(framework)是一个基本概念上的结构,用于去解决或者处理复杂的问题。这个广泛的定义使用的十分流行,尤其在软件概念。框架也能用于机械结构。


概念idea;notion;concept是反映对象的本质属性的思维形式。人类在认识过程中,从感性认识上升到理性认识,把所感知的事物的共同本质特点抽象出来,加以概括,就成为概念。

设计
设计是把一种计划、规划、设想通过视觉的形式传达出来的活动过程


如上四个名词和软件工程和设计有着最大相同点的就是盖楼业,我就以盖楼业和软件业做例子说明下:


盖楼设计
     1)受过及其专业的训练和理论课程,且理论课程非常成熟和严谨,资格认证也没那么简单容易。
     2)楼的工程图和标准、硬件设施大部分是已经几十年和几百年留下来的固有经验和物品。
     3)楼的面积规划是比较明了,一块地直接分好几个楼,然后按每个楼的位置规划进行设计,都有章程可寻。
     4)设计软件非常成熟,标准也非常成熟,成熟到你根本不用考虑创新,选好就OK了。
     5)计划不用做,这玩意老板和大工头来做。
软件设计
     1)受过专业课程训练,但!学校的专业课程学生未必会用心学,老师也未必会全力教授。且软件设计的理论课程我国成熟度很低。
     2)软件的工程图和标准,硬件设施足够让你挑花眼。
     3)软件开发的规划永远不可能考虑全面,除非你有 Dave Cutler的水平和魄力眼光等耀眼的实力要素,只做一次规划,再难变动。
     4)软件的 设计软件,一个是可用组合太多,另一个是大部分很难统一组合,婆说婆好,公说公好,虽然他们好,但统一一下会更好,但实际还是很难统一,甚至连编码标准和命名方式都难以统一。
     5)计划没有变化快,做计划多数会往宽裕了做,但还不定够时间,而且需求改变的可能性十分大。

所以从上面看软件设计很难做好,但也未必。

我们都知道迭代方式,版本分支管理。这两种方式都会出来好的软件。

迭代方式: 会重复如上设计的过程。因为迭代中会增加一些实践验证,所以会慢慢好好起来,
      其实大部分公司在开发产品 的时候也都会迭代, 最通俗的就是版本号和里程碑。

        版本分支管理:这个和迭代有点像,只是他没循环回去的过程,如果发现一个软件的整体设计
                                 需求大改,那么分支出一个 版本,纠集一批人开发新版本,老版本继续维护,直到生命期结束。

这里可以看得出,设计在某种你无法拥有足够能力的做出设计的时候,你能选择的方式就是先迭代打版本号开始,但前提,
你至少要打个腹稿,大概要做出个啥东西,写出需求和大概的程序框架模式和若干simple提供给别人参考。

做不出完整的整体设计的原因大概有几点:
1、设计人员对硬件(非PC,这里包括基础理论)设施不够了解。
2、太依赖于未了解完整的理论基础,或者根本不知道原理,只是知道代码这样写就可以了。
3、没有写足够的例子程序来验证自己的方式是否可行,或者理论基础支撑不足。
4、系统太复杂,太庞大,超过了你的理论知识边界。

补救的方式是 
                0、不要急着写代码和做设计。
                1、至少把基础的离散数学,算法数据结构、计算机体系原理,多线程算法等基础书看过。
                2、找对应平台和框架的优秀开发者,看他们推荐什么书,通读一遍。
                3、对平台和框架的相关文档和架构原理通读一遍。
                4、做面向对象的把面向对象的几本经典书看一遍,需要做函数式的把数学逻辑的书都好好看看。

做到以上几点应该可以写设计和搭建组合框架写例子了。

最后结论:想把楼盖高,地基得牢靠。我国楼可以豆腐渣,程序系统就别豆腐渣了!
结束我也对我自己说句话:努力吧,骚年!!打好基础,再盖楼,要不高处不胜寒。




评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值