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

亦蔚然's avatar
亦蔚然 已提交
37 38