QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 1408|回复: 0
打印 上一主题 下一主题

程序员正确看代码的方式

[复制链接]
字体大小: 正常 放大
杨利霞        

5250

主题

81

听众

16万

积分

  • TA的每日心情
    开心
    2021-8-11 17:59
  • 签到天数: 17 天

    [LV.4]偶尔看看III

    网络挑战赛参赛者

    网络挑战赛参赛者

    自我介绍
    本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。

    群组2018美赛大象算法课程

    群组2018美赛护航培训课程

    群组2019年 数学中国站长建

    群组2019年数据分析师课程

    群组2018年大象老师国赛优

    跳转到指定楼层
    1#
    发表于 2020-10-8 17:47 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    " o3 R# ]# C/ v3 F) R4 i
    程序员正确看代码的方式
    0 H& ~! c' j/ X# K' Y( K2 j$ f
    ) }1 F" ?: ~' M( i0 \1 e' c( G/ f0 a$ V- m3 V0 y; k& r4 M

    正确的学习方法不仅能够让你事半功倍,也能够让你更加接近真理。初学一个工程的源代码,往往让初学者手足无措。下面的方法希望为初学者带来启示和便利。这个学习方式是基于编译环境和语言比较熟悉的基础上。最重要的是你要确定你要阅读的源代码是一份好代码。因为阅读代码就像阅读书籍。好代码让你终生受益,坏代码会给你留下阴影。

           一.先把源代码安装起来编译起来,结合它的文档和手册,熟悉其功能和它的应用方式。如果遇到的是英文文档,那么首先恭喜你,如果硬着头皮看下来,不仅能在国内开此系统或框架的先河,而且能让你阅读英文的水平大幅提升。

           二.浏览源代码的目录结构,了解各个目录的功能。从整体上观察这个工程是有哪些模块组成的,最好能画一画图。

           三.经过以上两步后你对这份源代码有了一个初步的了解了,现在开始分析它的源码吧。这一步我们开始分析源代码框架。例如入口方式是单入口还是多入口,页面之间的调用规则,能根据规则找出某个功能用到的页面。

            四.熟悉源代码的代码写作风格,例如缩进方式,排版格式,变量命名,函数命名等。

           五.熟悉一下源代码用到的数据库和表,可以参考它的技术支持文档。

           六.经过以上几步相信已经对源代码有了更深刻的了解,不过这种了解还只是表面的,下来我们从7个方面具体的去分析它吧:

    • 入口构造以及页面调用方式的具体实现,如果阅读时看到工具类和工具函数,尽量去熟悉一下。这一步的分析可以学习到源代码的系统架构方式。
    • 分析源代码用到的工具类和工具函数,这样可以学到很多程序编写技巧。可以提升自己编程功力。
    • 结合一些安全规则,研究这个源代码是怎样实现安全方面的设计的。这样可以提高自己在安全方面的意识和功力。
    • 如果有模板引擎的话,研究一下源代码的模板引擎。大致从实现方式,效率,易用性等几个方面去考虑。
    • 研究系统的各个功能模块,这样既能学习编程技巧还能打开自己的编程思路,下次遇到类似的东东就心里有谱了。
    • 研究系统所用到设计模式,一样的功能实现,用到的设计模式可能相差很多,对比我们之前所作的东东分析设计模式,是提升我们驾驭代码的不二法门。
    • 研究源代码对访问压力,执行效率,系统效率,数据库查询的优化。! B6 R1 o/ q3 i; P7 y1 O

           七.做笔记,把这个开源代码实现的功能,实现方式、设计框架、模块组织、以及代码技巧等记录下来。边记录边总结整理,对学习的东西更容易消化吸收。

           八.实践是检验真理的唯一标准,修改一些比较简单地功能,或者写一些简单的sample,并且调试出来,这样才能做到更加理解代码。同时框架性的源代码里一般都有自带的实例,修改使用这些实例,可以快速了解框架的使用。


    % {# v8 g3 C9 ^, }
    ' P5 J7 \/ J: n) |: X# n& g
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2024-4-27 06:31 , Processed in 0.286419 second(s), 50 queries .

    回顶部