关于阅读开源项目的源码,有哪些经验值得分享?

9 篇文章 0 订阅

这里写图片描述

1、有耐心,忌吃热豆腐。

有些特别勤快的人,总以为自己能很快阅读完源码,他们之中的有些用量来衡量自己的能干程度,于是只抓量不抓质。

但是代码中涉及到的很多是思想,慢慢领悟其中的精华,这是需要花时间去消化的。

阅读开源项目的源码时,要有耐心,不要浮躁。

不懂的,不要烦躁,毕竟不是人人都很容易看懂。

时间紧迫的,不要烦躁,给自己多点时间。

2、查漏补缺。

看源码,其中涉及到的基础知识,要注意查漏补缺,外加巩固,切忌下次依然不知道。

若是源码中涉及到很多新的技术,这个时候,应该感到十分兴奋,毕竟学习新的东西给人成就感,赶紧去学习,弥补自己不会的。

我想日积月累,我们的知识库里一定会越来越丰富的。

3、结构化思想。

注意构建程序走向,有的时候你只需要关心这一块是干什么的,然后跳到哪一块,那一块又是干什么的,并不需要过分详细地看每一行代码。

掌握程序的走向,结构化分析源码走向,然后结合业务逻辑分析。

这样的话,可根据bug类型和内容判断大致上是什么原因导致的。

结构化思想让我们有全局观,脉络清晰,逻辑清楚。

4、总结。

善于总结,总结思想,总结新的技术或方法,总结自己曾经的哪些没有掌握,总结其中的精华。

总结感悟。

GitChat分享:
JVM 的那些事儿

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
## 项目说明 FlyCms 是一个类似知乎以问答为基础的完全开源的JAVA语言开发的社交网络建站程序,基于 Spring Boot+Bootstrap3+MyBatis+MYSQL+Solr+Ehcache 应用架构,专注于社区内容的整理、归类和检索,它集合了问答,digg,wiki 等多个程序的优点,帮助用户轻松搭建专业的知识库和在线问答社区。 业务模块包括:权限管理,会员管理,角色管理,定时任务管理(调度管理),问答管理,文章管理,分享管理,短信接口管理和邮件系统发送(注册、找回密码、邮件订阅),跨域登录,消息推送,全文检索、前端国际化等等众多模块等您自己来体验! ##### 开放源码,便捷开发 基于Spring Boot版本开发,利用成熟开发技术,开放系统源码和开发文档,让二次开发更容易。 ##### 弹性设计,任性定制 UI设计简约又灵活, Bootstrap定制模板让用户自由发挥,让自己的社区更具独特个性。 ##### 管理后台,轻松掌控 管理后台功能实用简约,只需轻点功能开关,即可完成系统配置,属于你的知识社区一挥而就。 ##### 轻快智能,更懂社交 FlyCms比论坛更开放,比资讯网站更了解用户,以用户为中心,更懂社交,更注重内容的分析和分享。 ##### 用戶互助,精准推送 用户之间相互解答,分享产品使用心得,只向用户推送自己关心的消息,扩大价值,压缩干扰。 > 使用说明:请保留页面底部的 *powered by 28844. com* 感谢支持 在线地址: [28844.com](http://www.28844.com) | [文档地址](https://www.28844.com/) ## 技术栈 - JDK8 - Spring-Boot - MyBatis - Freemarker - MySQL - Bootstrap3 - Solr - Quartz - i18n - Ehcache ## 特性 - 社区兼容性(IE9+) - 页面自适应布局 - 本地登录,手机注册, 邮件注册 - 登录时有验证码,尝试登录次数的限制 - 使用 `Spring-Boot` 开发 - MyBatis操作数据库 - 目前sql语句只支持MySQL,如果要切换数据库,需要手动修改代码 - Solr提供搜索和前台部分页面列表查询和分页 ## 网站功能 ##### 前台功能 - 问答栏目,用户可发布奖励积分邀请回答问题 - 答案发布管理统计等等; - 文章栏目,专家专栏,后台设置专家组可发布专业性文章资讯 - 文章栏目可分类,文章栏目目前可无限极分类 - 分享栏目,用户可分享发布如百度网盘资源地址,电影地址等等,赚取积分 - 各个栏目话题聚合内容,话题可编辑删除,审核; - 用户个人首页,可查看自己关注的用户和自己发布的内容 - 用户内容收藏 - 用户积分管理充值 - 用户绑定手机号码 - 用户绑定邮箱地址 - 用户密码找回 - 用户手机号码注册,需后台绑定运营商API; - 用户邀请注册奖励 ##### 网站后台 - 网站运营基本信息编辑 - 用户注册相关信息管理 - 用户手机运营商信息管理(目前只支持阿里大鱼) - 网站发送邮箱绑定,邮箱模板设置 - 会员信息管理、审核 - 问答管理 - 答案管理 - 文章管理、文章分类 - 话题管理 - 分享管理 - 友情链接管理 - 积分奖励规则管理 - 违禁关键词、敏感词过滤设置 - 增加定时任务管理,通过后台设置启动、关闭,执行任务日志 #### 二次开发准备 1. 开发环境要在IDE里装上lombok插件,否则编译器会报错 2. 程序部署建议使用Maven的assembly插件实现自定义打包方式 3. 项目已经接入了solr,程序安装需要先运行solr,solr已调试好,可直接启动,使用方法可访问官网查看; 4. 项目用到了阿里大于jar包,Maven时无法使用,可以下载doc/dysmsapi.zip,然后放本地的Maven的.m2\repository\com\alibaba\aliyun\目录下 5. 搜索和首页列表后期大部分前台列表准备都使用solr,所以要先下载目录下的solr,然后运行后启动程序,不然报错! #### solr原来的目录里上传的时候jar文件无法上传,压缩后提示上传文件不能大于10MB ## 如果需要的话进群空间下载,QQ群:`211378508` ## Windows下solr启动 - 比如solr放E:/盘下面,首先打开CMD窗口 - `e: `回车 - `cd e:/solr/bin` 回车 - `solr start -p 8983` 回车,等待启动成功
作为一个AI语言模型,我可以为您提供一些Spring框架中值得学习的源码模块。以下是一些可以考虑深入研究的Spring源码模块: 1. Spring Core:Spring框架的核心模块,包含了控制反转(IoC)和依赖注入(DI)的实现。学习Spring Core的源码可以帮助你理解Spring如何管理和组织对象以及如何实现依赖注入。 2. Spring MVC:Spring框架的Web开发模块,包含了基于MVC模式的Web应用程序开发支持。通过学习Spring MVC的源码,你可以深入了解请求处理、视图解析、拦截器等方面的实现原理。 3. Spring Boot:Spring Boot是基于Spring框架的快速开发框架,它提供了自动化配置和约定优于配置的方式。深入研究Spring Boot的源码可以帮助你了解其自动化配置的实现原理以及如何快速构建Spring应用程序。 4. Spring Data:Spring Data是用于简化数据访问层开发的模块,它提供了对多种数据存储技术的支持。学习Spring Data的源码可以帮助你了解如何简化数据访问层的开发以及如何实现数据存储的抽象和集成。 5. Spring Security:Spring Security是用于应用程序安全性的模块,提供了身份验证、授权、攻击防护等功能。学习Spring Security的源码可以帮助你了解如何实现应用程序的安全保护和权限控制。 这只是一些示例,Spring框架非常庞大且模块化,其中每个模块都值得深入研究。选择一个你感兴趣或者在实际项目中使用频率较高的模块,通过阅读源码理解其设计思想和实现细节,可以加深对Spring框架的理解和应用。同时,阅读开源社区中其他开发者的贡献也能帮助你更好地了解Spring框架的使用和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值