diff --git a/README.md b/README.md index 61b3193123ffdfd7b34f87be20baee2768fda2b7..bf28e344128cc5307d9ff825b43acef14c92be61 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,38 @@ -# JavaProject-Crawler-Elasticsearch -多线程爬虫与Elasticsearch搜索引擎的项目实战 +# 项目:多线程爬虫与Elasticsearch搜索引擎实战 +*** +## 1、前言部分:做一个项目的原则 +- 心法: + - 1、把每个项目当作人生最好的项目来精雕细琢,一丝不苟滴写好文档,保证代码质量(以自己当前最高水平去完成,可以借助代码检测工具) + - 2、使用业界标准化的模式和流程,每一行代码都不要是多余的(如:不要提交不该提交的文件 .idea 等不要上传到Github);几乎不要有本地依赖,使用者能够毫无障碍的使用 + - 3、小步快跑,成就感,越小的变更越容易debug,越早进行越好 +- 强制规范: + - 1、【重要】使用GitHub+主干/分支模型进行开发 + - 禁止直接push master + - 所有变更必须PR进行 + - 2、【重要】自动代码质量检查+测试 + - Checkstyle/SpotBugs + - 最基本的自动化测试覆盖 +- 项目设计流程 + - 多人协作【自顶向下】 + - 模块化 + - 各模块之间责任明确,界限清晰 + - 基本文档 + - 基本借口 + - 小步提交 + - 大的变更难以review + - 的的变更更加棘手 + - 小步提交颗粒度 + - 单打独斗【自底向上】 + - 先实现功能 + - 在实现的过程中不断抽出公用的部分 + - 每当自己写的代码比较啰嗦(不断复制粘贴)的时候就得重构了 + - 通过重构实现模块化、接口化 +- 项目演进: + - 单线程 -> 多线程 + - console -> H2 -> MySQL + - database -> Elasticsearch +*** +## 2、前言部分: + + +