• 【编程学习笔记】针对代码的学习以及开发流程,知其然,并且知其所以然!


    代码的三种类型

            ✿ Product:产品代码,一个可用的产品代码。比如一些开源软件,还有当前工作整天面对的代码。

            ✿ lib:库代码,对某一种功能封装的模块,一个工具库。

            ✿ framework:框架代码,某种业务常用逻辑的封装,就形成改业务逻辑的框架库。比如,游戏客户端来说就是游戏引擎,MFC是window下的一个GUI框架,等等。

    三种代码的编写与设计,抽象层次依次递增,对编写者能力的要求也依次递增。

    代码发布的内容

    无论是作为产品、库、还是框架,代码发布的形式一般都有下面的内容:

            ✿ Source Code:源码

            ✿ Product/Example/Demo:产品/示例/演示

            ✿ Test:对源码的全面单元测试(现在项目的产品代码几乎是没有的,质量无法保证,只能靠功能测试)

            ✿ Docs:分析/设计/代码/测试 文档。方便后来者学习。

    代码开发流程

    开发的正向流程:

    分析 -> 设计 -> 编码 -> 测试

    每一步的成果:

            ✿ 分析:分析文档(需求分析,可行性分析,等)

            ✿ 设计:整个架构设计文档

            ✿ 编码:程序接口文档 + 源码

            ✿ 测试:测试用例等

            ✿ 最终成果:Source Code

    如何学习代码:

    理解程度:

    ★ 知其然。知道是干什么用的,有什么优缺点。对多数代码的理解都应该在该层次,以后做东西时候,可以权衡使用那个代码,并且作出合理选择,然后再进一步学习。这样,可以了解许多新技术。

    ★★ 可以熟练使用,但不知其所以然。对经常使用的代码,达到这个程度就可以了。

    ★★★ 知其然,并且知其所以然。不但要知道是干什么的,会熟练的使用,还要知道来龙去脉,整个代码的架构设计,都要了如指掌。非常感兴趣,或着非常重要的代码,可以进入深入的分析。加深理解。学习代码的封装技巧和架构。 根据理解程度的不同,方法肯定不同了:

    ** 对于有详细文档的代码**:

    ★ 粗略浏览文档,特别注意介绍部分的阅读。不必计较细节。

    ★★ 详尽的学习文档,和例子源码的学习,了解如何正确的使用。某些部分文档没有描述清楚的,可以参考下源码,切勿深陷源码的泥潭,大体浏览即可。

    ★★★ 在上面的基础上,研究源码。可以正向,根据设计来研究代码,也可通过源码逆向出架构和设计。

    ** 对于没有文档或者文档简洁的一塌糊涂的代码**:

    ★ 运行几个可执行的东西,看看这个玩意到底是个什么。没有可执行文件,那就只能大体浏览下源码了。看看文件里面的注释之类的就可以了。不必深究代码到底是什么。

    ★★ 要熟练使用该代码,必须要读代码了,先模仿已有的各种写法。若有不明白之处,可以问问别人,查查资料,或者跟进实现代码,看个究竟,也不要纠结于具体实现,只要保持自己在应用层就可以了。

    ★★★ 想要知道一切,只能深入研究代码了。

    注意:上面的方法还是比较笼统的。需要进一步细化。

    保存学习成果:笔记/博客/代码/知识库

    学习的过程中,可能要产生些想法,或新知识,或自己写的一些试验代码。最好都保存下,也可与其他人分享学习所得,讨论并进步。不管你是转行也好,初学也罢,进阶也可,如果你想学编程,进阶程序员~

    【值得关注】我的 编程学习交流俱乐部 !【点击进入】

    C语言入门资料:


     

    C语言必读书籍:


     
  • 相关阅读:
    数论2&莫&杜
    虚树学习笔记
    LinkCutTree学习笔记
    FWT学习笔记
    容斥
    线段树合并
    线性基
    FFT_应用和例题
    斜率优化
    Redis中String的底层实现
  • 原文地址:https://www.cnblogs.com/huya-edu/p/14678251.html
Copyright © 2020-2023  润新知