zoukankan      html  css  js  c++  java
  • 读《梦断代码》有感

    本周我又接着阅读了Scott Rosenberg所著梦断代码,又有了新的感悟,希望能与大家分享。

    第三章 原型与Python

        本章从音乐收藏管理出发,介绍了OSAF编写Vista的背景,并且谈到了OSAF开发Vista时对使用的编程语言的选择。文中提到弗里德里克•布鲁克斯曾经说过的一句话:“准备丢弃一切吧。”因为对于采用任何新技术或新设计的项目,你大抵不能一次就做对,对于我们小组来说,虽然我们要做的app采用的已经不是新技术或者新设计了,但是在此之前我们并没有任何app开发的经历,开发过程中所需用到的技术我们也知之甚少,因此我们仍需要做好心理准备——我们有可能会走很多弯路,也可能会遇到特别多的陷阱,更糟的甚至是需要重头开始,但是这都是非常正常的事情,即使是一组有着几十年编程经验的程序师也不能保证他们所开发的项目没有走过任何弯路。要不然作者为什么会这样说——你所能掌控的,不过是从一开始就有做错的准备,或者干脆“保证交付垃圾产品给客户”。
       “程序员就像诗人,他的工作几乎全是纯思考。”布鲁克斯的话虽然有道理,但并不是特别恰当,程序员要将原本是人类所做的工作交给计算机去处理,这就需要他们思考如何让计算机能理解自己的指令并根据自己的指令去做事。但如果程序员只是思考而不将其落实到实实在在的代码上,那么一切的金点子仍然还只是空想。我想这应该就是邓老师再三催促我们赶紧着手写代码的原因——开发过程要用到哪些技术,有什么问题需要注意,再运行过程中会出现哪些bug......这些问题只有当我们真正着手去写代码、运行、发布之后才能知道,所以不管我们的水平如何,不如现在放手去写一些代码。因为只有我们做了,才知道哪里是我们不会的;只有我们知道了知道哪里是我们不会的,我们才可能学习、了解并掌握它。
    

    第四章 乐高王国

       本章提到了是否要软件复用的问题,确实这是一个两难的问题,使用现成的代码似乎能够加快所做项目的进度,但是如果自己写好像能够写出相同功能但是运行速度更快的代码......我们上个学期电设2的课程也遇到了同样的问题,网上有许多读取传感器数据的代码,我们究竟是直接拿来用呢,还是自己写呢?似乎直接拿来用很方便啊,可以节省我们好多时间,但是只有自己写才能知道这段代码是怎么操作的。我们先是直接copy了一点网上的代码,发现错误百出,如果我们慢慢找这段代码的错误,工作量比重写一份还要大,因此我们最后还是选择自己写......看到作者关于软件复用的问题,我首先想到的是千万不要用现成的代码,有可能会有许多漏洞,这样的话反而会使进度减慢。
       有很多的程序员还幻想把做软件变成流水线式的工作,他们幻想未来程序可以由可复用的部件组合而成,就像乐高积木一样,然而大多数想要走这条道路的程序员大多都发现此路不通,因为真实程序中的组件在尺寸上、功能上以及与其他组件的可拼合数量上差异甚大。虽然这个梦想难以实现,但是一些程序师做出的工作还是给许多后者带来的便利,比如各种各样的代码库——当程序员需要实现某一特定功能时,也许前人早已将其付诸于代码,并封装在代码库中,只需要我们调用即可。
  • 相关阅读:
    ActiveMQ 即时通讯服务 浅析
    Asp.net Mvc (Filter及其执行顺序)
    ActiveMQ基本介绍
    ActiveMQ持久化消息的三种方式
    Windows Azure Virtual Machine (27) 使用psping工具,测试Azure VM网络连通性
    Azure China (10) 使用Azure China SAS Token
    Windows Azure Affinity Groups (3) 修改虚拟网络地缘组(Affinity Group)的配置
    Windows Azure Storage (22) Azure Storage如何支持多级目录
    Windows Azure Virtual Machine (26) 使用高级存储(SSD)和DS系列VM
    Azure Redis Cache (2) 创建和使用Azure Redis Cache
  • 原文地址:https://www.cnblogs.com/rjgcqth/p/8586473.html
Copyright © 2011-2022 走看看