作为初学者,我们可能经常会需要去阅读别人的代码,以求从中学到别人的设计思路,抑或是从代码中了解类库的使用。不管哪种需求,我们都需要做到快速准确地阅读。那么,究竟如何阅读呢?让我们以一个.net(这里无论是java还是C#都是如此,自己去理解,举一反三。那么你就距离成功不远了)的项目为例:当我们打开一个.net解决方案的时候,里面通常有不止一个项目,例如一个三层架构的web项目,里面除了一个web网站外,通常还会包括诸如数据层(DAL)、逻辑层(BLL)项目,另外,一般我们会提供一个通用项目(Common类库),或者把DAL中的model部分抽取出来,这样就可能形成一个包含很多个组件的解决方案。那么我们拿到这个解决方案的时候要怎么入手呢?我的经验是,读别人的代码,由面及点和由点及面相结合的读法是最快的。所谓由面及点,就是说,首先理解整个解决方案的分工,比如叫做“web”项目是网站部分,是MVC架构中的V;名字中包括“BLL”的部分是业务代码,是MVC架构中的C;而名字中包括“DAL”的部分是数据库访问代码,是MVC架构中的M……理解每个子项目的功能,有助于我们直接进入主题,而不用花太多时间去熟悉所谓的框架部分。那么,主题在哪里呢?对于一个web项目来说,主题就是页面和业务代码。而这些,需要我们有点及面地学习。所谓由点及面,就是说,我们先进入一个页面,比如index.aspx(如果没有这个页面,一般也会有UserLogin.aspx之类的页面),打开这个页面,找到其中的功能按钮,根据按钮事件找到下一个页面,在熟悉页面流向的过程中,我们也从事件代码中了解了框架代码的调用方法。 那么,阅读一个具体的页面(包括页面本身和按钮事件,或者说,业务代码)的方法呢?1、代码包括如下部分
1)页面本身,即前台代码
2)页面后台,即各种事件
3)在页面事件中调用到的其他代码(例如数据库访问代码、多层架构中分出的其他层代码等)2、阅读顺序
1)阅读前台代码,对于初学者可以学习控件标签的使用方法,当然,事实上我们是用vs的设计工具来画页面的,察看代码只是为了更加熟悉,或者加深理解。
2)阅读页面后台事件代码,分两步走。首先,宏观理解一个事件的功能,比如点击一个登陆按钮,是要做:取得输入用户名和密码,根据用户名和密码查找数据库,根据返回结果判断页面流向,提示登陆成功或失败信息,等等。只需要理解功能即可,不需要深入理解每句代码的作用。因为这个时候我们是初次察看别人的后台代码,对于封装很好的框架,我们是很难第一次阅读就读懂所有东西的。
3)然后,在我们已经了解了一个事件的功能后,我们再次阅读,此时逐行分析。例如我们会碰到代码中定义了一个数据表对象(如User对象),然后执行数据库查询(此时我们可以熟悉项目中的数据库操作),然后对返回值进行操作(例如判断用户存在否,密码正确否)。在这些操作中我们可以(1)学习基础类库的使用,(2)熟悉框架代码的使用
注:在学习代码过程中,了解框架是意识上的进步,学习代码是技术上的进步,所以在逐步理解代码阶段,碰到人家封装好的类,例如数据库访问类,不用太执着,只要理解即可;而碰到某些编程技巧,则需要深入理解
相关推荐
在开始阅读别人的代码之前,首先需要做的是尽可能地搜集与项目相关的各种资料。这些资料可能包括项目的业务需求文档、设计文档、用户手册、系统架构图等。除此之外,了解项目所用编程语言的基础知识、框架知识和工具...
【如何更高效地阅读别人的代码】 在编程领域,阅读他人的代码是不可或缺的学习和进步环节。下面我们将深入探讨如何高效地进行代码阅读,以便更好地理解、学习和改进代码。 首先,建立阅读他人代码的习惯至关重要。...
### 如何阅读别人的代码为我所用 #### 一、养成习惯 1. **定期阅读优秀的代码**:持续地阅读高质量的代码能够帮助我们了解优秀的编程模式或某些特定的设计方法。 2. **选择性阅读**:在阅读时要有目标,学会学习...
Understand软件的功能主要定位于代码的阅读理解。界面用Qt开发的。 具备如下特性: 1、支持多语言:Ada, C, C++, C#, Java, FORTRAN, Delphi, Jovial, and PL/M ,混合语言的project也支持 2、多平台: Windows/...
阅读别人的源代码,并不是简单地浏览代码,而是要真正地了解代码的用途和涵义。只有原作者才能真正地了解代码的用途和涵义,但是我们可以通过学习相关的语言和惯例,来提高自己的实力。 第二章:摸清架构,便可轻松...
### 如何高效阅读并理解他人的程序代码 #### 一、引言 在软件开发行业中,经常需要阅读和理解他人编写的程序代码。这是一项挑战性极高的任务,尤其是当代码量庞大且结构复杂时。然而,掌握这项技能不仅能帮助...
源代码要养成一个习惯, 经常花时间阅读别人编写的高品质代码. 2.要有选择地阅读代码, 同时, 还要有自己的目标. 您是想学习新的模式
在软件开发过程中,我们常常会遇到需要阅读和理解他人编写的代码的情况。这不仅是提升自身技能的一种途径,也是团队合作中的必要环节。那么,如何才能快速有效地读懂他人的代码呢?接下来,我们将根据提供的部分信息...
在当今的软件开发环境中,阅读和理解源代码已经成为程序员工作中不可或缺的一部分。无论是在团队协作,还是维护和升级遗留系统,或者是在学习新技术和架构设计,掌握如何高效地解读他人的代码对于提升个人编程能力至...
标题中的"如何通过阅读别人的源代码提升.Net技能"表明了本文的核心——通过分析和理解他人的代码来提升个人编程能力,特别是对于.Net框架的理解和应用。描述中提到的三种程度,即了解、修改、扩充以及抽取和提炼,...
相当经典的书。能正确引导我们去如何读别人的优秀代码,相信有些做了几年开发的朋友,还是不会读别人的代码。
- **阅读别人代码**:研究开源的汇编代码,了解实际应用中的技巧和设计思路。 - **调试工具**:学会使用反汇编器和调试器,如OllyDbg、GDB等,辅助理解和分析汇编代码。 总的来说,汇编语言是IT领域的基石之一,...
在软件开发领域,阅读和理解他人的代码是一项基本且至关重要的技能。不论你是新手开发者还是经验丰富的工程师,难免会遇到需要维护或扩展他人代码的情况。掌握如何有效阅读他人代码,不仅能提升工作效率,还能深化对...
4. **使用混淆工具**:对JavaScript代码进行混淆,使其变得难以阅读和理解。但这并不阻止有经验的开发者通过反编译或解混淆工具来还原代码。 5. **内容安全策略** (Content Security Policy, CSP):设置CSP头可以...
学习C语言指针的过程中,不断练习编程和阅读别人代码是至关重要的。只有通过实践,才能真正理解和掌握指针的强大功能。同时,良好的编程习惯和注释可以使指针的使用更加清晰,提高代码的可读性和可维护性。
5. **代码保护技术**:有多种方法可以保护源代码不被轻易获取,例如使用混淆器使得代码难以阅读,或者将关键逻辑编译为二进制库,只提供接口而不公开源码。 6. **法律后果**:非法下载和使用他人源代码可能导致法律...
阅读别人的代码技巧,真的不错,大家喜欢就下栽把,肯定对你有帮助......阅读别人的代码技巧,真的不错,大家喜欢就下栽把,肯定对你有帮助......阅读别人的代码技巧,真的不错,大家喜欢就下栽把,肯定对你有帮助