`
qindongliang1922
  • 浏览: 2188391 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
7265517b-f87e-3137-b62c-5c6e30e26109
证道Lucene4
浏览量:117658
097be4a0-491e-39c0-89ff-3456fadf8262
证道Hadoop
浏览量:126062
41c37529-f6d8-32e4-8563-3b42b2712a50
证道shell编程
浏览量:60010
43832365-bc15-3f5d-b3cd-c9161722a70c
ELK修真
浏览量:71396
社区版块
存档分类
最新评论

读开源项目的注意点

阅读更多

想成为IT大牛最快捷的方式就是看开源程序,那么看开源程序应该思考些什么问题呢?
①看程序中的变量,方法,参数,实现的接口,继承的类时要思考他们来自于哪里?
②程序调用执行的先后顺序是怎样的?
③它是怎样实现的这些参数的传递和方法的先后调用的?
④为什么要这么调用和传参,这么做的优缺点是什么?从中你学到了什么?

再高层次一点,你要了解他的架构是怎么样的,为什么要这样架构,他的工程结构是否合理,等等?



       看开源代码绝不能仅仅停留在看懂代码这层上,你必须得看出开源人的编程思维和思想;要懂得人家这样编程的利弊,自己怎样将好的编程思路运用到自己的项目中去,自己是否有更好的思路?其实认认真真读懂一份开源代码比你泛读要好的多,有些人说是说自己看过多少项目,将其技术来也是侃侃而谈但是真正让他做个东西就尿了,为什么?了解浮于表面,不懂人家的编程思想导致的。


       在深入研究计算机的某些个问题时很容易层层深究,比如你在一个类中使用某个参数时你会想他的来源;如果当他是另一个类中传过来的时候,你就会去看另一个类中的方法继承、接口调用,以及类中的具体细节;这样一路深究很容易就触及到支持你开发开发工具包中;当然进入到这个开发工具包中你就更晕了,那么你面临一个重要的抉择是接着往下走呢,还是不求甚解呢?接着往下走以为着需花费更多的时间和精力也不一定能得到你想要的结果,有可能你越走越远最终偏离了你的求知的初衷;总是选择不求甚解呢,那你可能永远没法提高成为大牛,应为你不懂的原理只会简单的实现起点就比这些大牛低了一级;这个时候的抉择应该是看你当时的时间安排,如果你有空那不妨深入研究研究,毕竟我们要知其然而知其所以然;如果没有那个时间那你可以先记下,等你有空的时候在来深究。有时候只是需要某些技术,你不必过于钻牛角尖。在科技企业工作不但要有快速学习新技术应用新技术的能力,还要有深入研究深挖技术实现的能力;快速学习的能力是为了适应企业快速发展的需求,但是深入研究的能力才是保持企业技术长远发展,是企业提升技术竞争力的关键。


本文非原创来自http://1184178955.iteye.com/blog/2023674
分享到:
评论

相关推荐

    谷歌开源项目Python风格指南与编写简洁可读代码的建议.zip

    适合学习/练手、毕业设计、课程设计、期末/期中/大作业、工程实训、相关...# 注意 1. 本资源仅用于开源学习和技术交流。不可商用等,一切后果由使用者承担。 2. 部分字体以及插图等来自网络,若是侵权请联系删除。

    DCloud开源项目集锦

    注意,所有开源项目并非全部托管在当前工程下,点击如下开源项目,会自动跳转到对应代码托管地址。 资讯类 新闻阅读器 开发者新闻APP 红旅动漫 闪读看书 电商类 灰狐E3 社交类 1.卡牌对战:基于MUI构建一个拥有90+...

    开源类库读excel

    标题中的“开源类库读excel”指的...然而,使用开源库也需要注意一些问题,例如版本更新可能带来的API变动、社区支持的质量以及文档的完善程度等。在实际应用中,开发者需要评估这些因素以确保项目的稳定性和可维护性。

    开源项目-MohamedBassem-fuzzy-dns.zip

    【开源项目-MohamedBassem-fuzzy-dns.zip】是一个由开发者Mohamed Bassem创建的开源项目,名为FuzzyDNS。这个项目的核心是一个简单的DNS(域名系统)服务器,它的特点是能够进行模糊匹配其记录。在深入理解这个项目...

    开源项目-mattn-memo.zip

    开源项目“mattn-memo”是一个专为命令行界面(CUI)设计的笔记应用程序。这个项目的目的是提供一个简单、高效的方式,在纯文本环境中记录和管理个人笔记。下面将详细介绍这个项目的各个方面,以及如何在CUI环境下...

    Google开源项目风格指南 C++ 4.4.5 (2016) 最新中文版

    让任何程序员都可以快速读懂你的代码这点非常重要. 保持统一编程风格并遵守约定意味着可以很容易根据 “模式匹配” 规则来推断各种标识符的含义. 创建通用, 必需的习惯用语和模式可以使代码更容易理解. 在一些情况...

    Google 开源项目风格指南.pdf(C++,2017版)

    以下是根据内容中透露的Google C++开源项目风格指南的详细知识点: 1. **头文件保护宏(Header Guard)**: - `#ifndef FOO_BAR_BAZ_H_`,`#define FOO_BAR_BAZ_H_`,`#endif`:这是一种常见的头文件保护技术,...

    如何阅读开源代码

    - 注意软件的设计模式和架构风格,如MVC(Model-View-Controller)模式的应用。 - 学习如何合理组织代码,以及如何利用设计模式解决实际问题。 5. **动手实践:** - 尝试自己运行软件并进行一些基本的修改,...

    开源项目-ncw-gpython.zip

    开源项目“ncw-gpython.zip”是一个基于Go语言实现Python解释器的工程,它允许开发者在Go程序中直接运行Python代码。这个项目的核心价值在于它实现了语言间的互操作性,使得Go开发者能够利用Python丰富的库资源,...

    开源项目-kahing-goofys.zip

    【开源项目-kahing-goofys.zip】是一个包含开源项目Goofys的压缩包,Goofys是一个将Amazon S3云存储服务转换为文件系统接口的工具。这个项目由Kahing开发,允许用户像操作本地文件系统一样操作S3上的对象。在深入...

    对象序列化_跨语言(JAVA)wox开源项目

    WOX开源项目,全称为Web Operation eXtension,是一个致力于提供跨语言解决方案的开源框架。该项目可能是为了方便Java开发者和其他语言(如Python、C++、JavaScript等)之间的通信,通过序列化和反序列化机制,确保...

    前端开源库-console

    通常,开源项目会使用版本控制系统如Git,"master"分支代表了项目的主线,包含了最新的稳定代码。 在使用这个开源库时,开发者可以期待以下几点: 1. **增强的输出功能**:除了基本的log、warn和error方法,可能还...

    开源骚客的SDRAM

    《开源骚客的SDRAM》是一篇针对...此外,还可以参考其他教材、论坛讨论以及开源项目,以获取更全面的知识和技术支持。通过这样的学习,新手不仅可以掌握SDRAM控制器设计,还能够为将来深入的硬件设计打下坚实的基础。

    135k代驾小程序开源版 v1.2.24.zip微信小程序模板源码

    7. **协作与贡献**:开源项目鼓励社区协作,了解如何向开源项目提交bug报告、提出功能建议,甚至参与代码贡献。 8. **软件部署**:在完成定制开发后,学习如何将微信小程序上传到微信开发者平台,进行审核并发布...

    通过开源库s7netplus实现对1500PLC的DB进行读写.Demo

    在工业自动化领域,西门子S7系列PLC(可编程逻辑...而"通过开源库s7netplus实现对1500PLC的DB进行读写.Demo"则是一个实践这一技术的起点,通过学习和研究这个Demo,开发者能够掌握如何在实际项目中运用s7netplus库。

    基于开源中国源码提取出的扫描二维码功能模块

    基于开源中国的源码提取出的扫描二维码功能模块,旨在为开发者提供一个简单易用、适应性强的集成方案,使其能够快速在自己的项目中实现二维码的读取和识别。 一、核心组件与技术 1. 图像处理库:为了识别二维码,...

    开源一STM32项目,CAN,UART,Input检测 原创相对高效性能与代码重用平衡思路,可直接做工程模板

    并使用内部软中断处理CAN数据,相当于事件响应,综合应该比查询方式节省不少时间,也应该比OS调度省点时间。Can.C:底层处理,Communi.C:与应用层高相关。 应用层处理流程用函数指针表的方式调用减少代码量及阅读...

    前端开源库-raml-sanitize

    RAML(RESTful API Modeling Language)是一种用于构建RESTful API的简洁、易读的语义表示。它允许开发者用YAML或JSON格式定义API的接口,包括方法、路径、响应、安全策略等。在实际应用中,API接口通常需要对接收到...

    条形码生成技术源码(跨平台 支持多种开发语言,免费开源)

    首先,条形码是一种光学可读的数据表示形式,由黑白相间的线条和空白组成,每种宽度和间隔都代表特定的信息。最常见的条形码类型包括EAN(国际物品编码)、UPC(统一产品代码)以及Code 39(3 of 9),这是一种广泛...

    ModelScope-Agent(开源版GPTs)

    标题中的"ModelScope-Agent(开源版GPTs)"指的是一个基于Python的开源项目,它提供了对GPT(Generative Pre-trained Transformer)模型的接口和支持。GPT是一种先进的自然语言处理模型,由OpenAI开发,主要用于文本...

Global site tag (gtag.js) - Google Analytics