zoukankan      html  css  js  c++  java
  • 初读《代码大全》

    对于《代码大全》这本书我还没有仔细的读,更别说是看完了,我就重点看了一下第三、四章,主要讲软件工程的前期准备,其次就是我大致浏览了一下后面的内容。第一感觉就是作者写得相当好,插入了不少段子,比喻形象,生动诙谐。但是没有深入的研读难以给出有意义的问题,想问题快把我想得头都要爆炸了,最终还挤出了几个问题。虽然本书主要讲的是软件构建过程,下面的问题主要集中在软件架构相关的领域。
    1字符集总是让人捉摸不透,那么常用的编程语言都分别支持哪些字符集,如何用这种语言编写制定字符集的程序?字符串类型和字符集类型有何联系?程序中的中文和英文甚至俄文都是使用什么字符串类型?
    2如何开发出漂亮的用户界面,比如360安全卫士那样的软件?有没有类似的模板可以直接使用?这是我非常关心的问题,因为常年编写控制台的应用程序对于界面编程完全不懂。
    3常用的软件架构有哪些?有没有固定的套路可以直接拿来使用?
    4对于大部分的软件开发人员来说,架构师都是一个令人向往的角色。毫无疑问要成为一个软件架构师需要阅历无数的软件工程,那么一个合格的软件架构师是如何成长起来的?大概需要多少年?
    5一个实际的项目是怎么进行前期准备的,大概需要多长时间?真的有必要像书上所述的那样准备吗?就算是我们平时写的一个小项目也很难做到书上的各种要求,很多类都是在实现的过程中才不断明确下来的。

    《代码大全》 摘记——三思而后行:准备工作之架构部分
    1如果对某个类在系统中的角色没有一个清晰的构思,那么编写这个类就是一件令人灰心丧气的工作。
    2在开始编码、测试、调试之前进行需求分析和架构设计才能保证关键的方面都做正确。
    3程序员是软件食物链的最后一环。架构师吃掉需求,设计师吃掉架构,而程序员则消化设计。
    4在构建活动开始之前清除一个错误,那么返回的成本仅仅是在开发过程的最后阶段(在系统的测试期间或发布之后)做同样事情的十分之一到百分之一。
    5调试连同相应的返工在典型的软件开发周期中会占据大约50%的时间。
    6架构应该详细定义web页面格式、GUI、命令行接口等主要元素。
    7命令行界面便于单元级别和子系统级别的软件测试。
    8程序中有高达90%的代码是用来处理异常情况、进行错误处理、或做笔记工作。

  • 相关阅读:
    Jenkins简明入门(三) -- Blue Ocean,让一切变得简单
    TeamForge使用指南
    Jenkins简明入门(二) -- 利用Jenkins完成Python程序的build、test、deployment
    谈谈Python中的decorator装饰器,如何更优雅的重用代码
    Jenkins简明入门(一) -- 安装
    Python CSV 超简明用法
    Intel CPU命名规则的简略解析
    ef core 2.1 利用Query Type查询视图
    asp.net core 开发环境自定义域名及端口
    ef core 使用include进行外键连接查询
  • 原文地址:https://www.cnblogs.com/yxr1993/p/4027851.html
Copyright © 2011-2022 走看看