《梦断代码》阅读笔记02

   第四章乐高王国,向我们 介绍了程序代码就像是一块块积木一样,未来的程序可能就是由可复用的部件组合而成,软件的复用有两个很难的选择,创建和借用,模块化和组件化是程序员一直很想实现的,如果可以把几个插件组合在一起,程序就可以完美的运行,但是目前他具有很大的难度,有的时候这个组件并不能和自己的程序一起运行,往往将代码组合在一起花费的时间要比自己编写花费的时间长的多。曾经考克斯创办了一家叫做Stepstone的公司,致力于向C语言系统搭造者提供插入式芯片级软件组件,但是最后他们得出的结论是,采用最新的技术,设计出能够使用并且能复用的组件是非常困难的。

   在美国西海岸,第一个 第一个公众版Chandler0.1上载到OSAF 服务器,24 小时内,就被下载15000 次。后来认为Chandler数据模型的核心应该是“条目( item)”。条目对用户来说,可能是一封电子邮件、一条随笔记录或者一次约会事件,但它也要体现程序自身的一些机制,例如某”类”条目的定义(“电子邮件”或“随笔记录”或“约会事件”)。条目采用面向对象方式加以组织,构成一种继承层级结构。如果一组中的每一条目都被定义为某一”类”——例如,都是电子邮件一一则它们将继承“电子邮件类”条目的所有特性。所有条目都应该保存在资料库中。在RDF 中,数据存储的基本单位是“属性(attribute)" ; Chandler 条目可以包含许多不同属性(对于一封电子邮件,典型的属性可能是“日期”、“发件人”、“ 主题”、“正文”等等)。

   之后从狗需要管束引导到了程序员同样需要管束,软件经理在软件开发过程中显得十分重要,他们决定着软件开发的进度,决定着软件开发是否能在规定时间内完成,有一种程序员成为牛仔程序员,就是那些在公司里不守规矩,不擅长团队合作的程序员,这些程序员对于经理来说,是非常难管理的。在一个软件开发中通常是以团队形式来进行开发的,每个人都需要相互配合,相互理解,只有团队之间相互沟通,达成一致的目标,才能将软件这个项目完成好。

    卡普尔认为, 软件设计不仅只是在程序员代码之上覆盖一层诱人的图形。它是一种设想用户需求并在软件结构中满足这些需求的创造性基础工作。在软件开发中,都需要集成,就是把几段运行正常的代码和在一起,但是这样往往都会出现问题,调试过程也是非常困难的,在我们团队制作软件的时候,几个人实现的功能和在一起,整个程序就崩了。而且我们在设计程序的时候,要从小做起,李纳斯托沃兹说过,我致力于Linux达13年之久,我想后面还得花上好些时间。如果一早就妄想做个大东西,可能现在还没动手呢。也许面对一个复杂的程序,我们并不用一气解决这个程序中的所有难题,我们可以把它分为很多个模块,一个模块一个模块的去解决,这样,我们可以一直处在前进之中,到了最后,也许我们会发现,我们做到了自己认为不可能的事情。因此不管是在我们以后的工作中,还是今后的学习中,我们都要把程序分步实现,将程序分解成小的问题,这样才能更好的解决问题。

   在软件开发的团队里,每个人分工合作,但是这里的分工合作并不是按照程序量来决定的,可能有人主要负责编程,有人负责团队成员之间的沟通,有人负责撰写文档,需求设计。只有良好的分工合作,这个团队才能更加团结,完成更多的项目。

原文地址:https://www.cnblogs.com/zhang12345/p/11026702.html