zoukankan      html  css  js  c++  java
  • 构建之法阅读笔记01

    本周阅读了构建之法的前5章内容,经过对这本书的阅读,我发现了很多值得我们去思考、去尽量掌握的知识、以及在今后的学习工作中需要注意的一些基本的方法。

    1.首先值得一提的就是书中对于软件的定义,所有人都知道“程序 = 数据结构 + 算法”,那么软件呢,书中给出定义“软件 = 程序 + 软件工程”,就我们现在的阶段来说也只能勉强的达到程序的级别,并且只能说是生存在象牙塔的实验室程序,知识为了满足老师布置的要求,无论是查书还是在网上搜寻代码,得到老师要的结果罢了。就我个人而言,所写的代码基本上都较为短小,并且也比较简单,所以在编写过程中从没有考虑过程序的时间、空间问题。但是通过这两天的课堂实验,以及阅读书籍,我也认识到了这样做的错误,因为当这样的程序,一旦遇到一丁点的问题便会直接卡死,无法运行,所以之后一定要注意自己的编写习惯,尽可能的去考虑各种不同的情况,尽可能的让程序能够适应不同的问题,最起码的就是解决在任意情况下不会死机。

    2.其次书中指出我们的编程习惯问题,所有的代码都是采用从左到右的形式,没有任何的缩进,导致最后呈现出来的就是乱七八糟一大片,程序可读性非常差,在加上没有加括号,没有加注释的习惯,程序如果短小还可以凑合看下去,可是当程序较长的时候,别说是其他人员,就是开发者自己都很难看得清。这是我们的一个极大的弊端。我在缩进方面还会稍微注意一点,但是缺少注释,所以在有些时候在翻阅自己之前的程序时还得从头到尾自己阅读才能知道这个程序当初是实现什么功能的。

    3.第三就是对我们对功能和质量之间的批判,是的每个人都会有自己独特的想法,想要自己的程序能够在现有的基础上尽可能的进行创新,尽可能的开发各种具有技术含量的东西,可是到最后呢,连最起码的基础功能都没做好,最后留下的只是一个失败的经历。所以我们应该在保证基础功能的质量之后再去考虑优化升级的问题。就拿我在刚上大二时第一次的测试举例,要求是用文件实现一个ATM的功能,由于文件方面知识的缺乏,导致打吧的时间去折腾文件,导致后来的很多功能都未实现,然而在评分时学长告诉我一句话,文件不会直接跳过啊,哪怕知识在控制台实现所有功能呢。所以在今后的学习以及工作中要有所取舍,在追求质量的基础上再去考虑其他的创新问题。

    4.最后就是对团队协作的感受,由于在学习过程中都是自己独立完成的,基本上不会涉及两个人,甚至是团队之间进行合作的事了,这就使得在解决一些问题的时候较为困难了。对此我也是深有体会,之前在初学web的时候就遇到了很大的困难,刚开始连代码都看不懂,不懂得数据库的具体操作,然而就当我一筹莫展的时候,和舍友讨论的时候便有了很大进展,经过两个人的总结,才完成了相关的实验。

  • 相关阅读:
    BEM(Block–Element-Modifier)
    http://element.eleme.io/#/zh-CN/component/quickstart
    Commit message 的写法规范。本文介绍Angular 规范(
    好的commit应该长啥样 https://github.com/torvalds/linux/pull/17#issuecomment-5654674
    代码管理
    if you have content fetched asynchronously on pages where SEO is important, SSR might be necessary
    Martin Fowler’s Active Record design pattern.
    The Zen of Python
    Introspection in Python How to spy on your Python objects Guide to Python introspection
    Object-Oriented Metrics: LCOM 内聚性的度量
  • 原文地址:https://www.cnblogs.com/1gaoyu/p/10543819.html
Copyright © 2011-2022 走看看