diff --git "a/\347\254\2544\351\203\250\345\210\206\342\200\224\342\200\224\345\220\257\345\212\250\350\207\252\345\267\261\347\232\204\345\274\200\346\272\220\351\241\271\347\233\256/\346\234\211\344\272\206\345\274\200\346\272\220\347\232\204\346\203\263\346\263\225\345\220\216\344\273\216\344\275\225\345\274\200\345\247\213.md" "b/\347\254\2544\351\203\250\345\210\206\342\200\224\342\200\224\345\220\257\345\212\250\350\207\252\345\267\261\347\232\204\345\274\200\346\272\220\351\241\271\347\233\256/\346\234\211\344\272\206\345\274\200\346\272\220\347\232\204\346\203\263\346\263\225\345\220\216\344\273\216\344\275\225\345\274\200\345\247\213.md" index 5e7b064d97aee6136f50a6e60919cf9b0bba9ff9..f3f3bd825702cf1b730ce1480f46b64f063b17c9 100644 --- "a/\347\254\2544\351\203\250\345\210\206\342\200\224\342\200\224\345\220\257\345\212\250\350\207\252\345\267\261\347\232\204\345\274\200\346\272\220\351\241\271\347\233\256/\346\234\211\344\272\206\345\274\200\346\272\220\347\232\204\346\203\263\346\263\225\345\220\216\344\273\216\344\275\225\345\274\200\345\247\213.md" +++ "b/\347\254\2544\351\203\250\345\210\206\342\200\224\342\200\224\345\220\257\345\212\250\350\207\252\345\267\261\347\232\204\345\274\200\346\272\220\351\241\271\347\233\256/\346\234\211\344\272\206\345\274\200\346\272\220\347\232\204\346\203\263\346\263\225\345\220\216\344\273\216\344\275\225\345\274\200\345\247\213.md" @@ -20,13 +20,13 @@ 如果你已经选择好了项目的赛道,先别慌着动手,建议在开源社区内寻找下你这个赛道里其他的开源项目。 -一开始最好去找开源社区里最活跃的同类型项目,评判一个项目是否活跃,一是看这个项目的 star 数,二是看这个项目是否一直在更新,三是看 issue 数量和评论数量。找到这样的一个项目后,可以去看看这个项目的特性,这会帮助你在设计你的项目时了解所需要关注的点,有可能有些特性你是没有想到的。然后最好去 clone 这个项目的代码到本地,如果有时间,最好还是仔细的去阅读下人家的代码。如果读不懂,一般成熟的项目总有例子和单元测试。最好亲自去跑下别人的例子和单元测试,再结合项目的特性,能帮助你对这个项目有更好直观上的理解。 +一开始最好去找开源社区里最活跃的同类型项目,评判一个项目是否活跃,一是看这个项目的 Star 数,二是看这个项目是否一直在更新,三是看 Issue 数量和评论数量。找到这样的一个项目后,可以去看看这个项目的特性,这会帮助你在设计你的项目时了解所需要关注的点,有可能有些特性你是没有想到的。然后最好去 Clone 这个项目的代码到本地,如果有时间,最好还是仔细的去阅读下人家的代码。如果读不懂,一般成熟的项目总有例子和单元测试。最好亲自去跑下别人的例子和单元测试,再结合项目的特性,能帮助你对这个项目有更好直观上的理解。 -然后再去找一下这个赛道里其他的项目,挑一些 star 数相对比较高的项目看看。再和最活跃的那个项目,进行一个横向对比。思考下为什么这个赛道里排名最高的那个项目会得到使用者的青睐。这样总结一番,你会对在这个赛道里如何脱颖而出有一个大致的判断。这会对你的项目要做成什么样有很大的帮助。 +然后再去找一下这个赛道里其他的项目,挑一些 Star 数相对比较高的项目看看。再和最活跃的那个项目,进行一个横向对比。思考下为什么这个赛道里排名最高的那个项目会得到使用者的青睐。这样总结一番,你会对在这个赛道里如何脱颖而出有一个大致的判断。这会对你的项目要做成什么样有很大的帮助。 -同时也建议去看看赛道里高 star 项目的 issue,issue 基本能反映出一个项目历史的迭代过程和目前的进展,这当中有用户提出的改进,有作者自己加的一些特性。每个 issue 有一个标签,能反映出这个 issue 是 bug 还是增强,还是新特性。建议你只过滤出增强和新特性。这基本上就是一个项目迭代的历史过程了。如果一个项目都没有 issue,只能说明迭代度比较差,或者受到的关注度使用度比较少。这种项目也基本没有看的必要。 +同时也建议去看看赛道里高 Star 项目的 Issue,Issue 基本能反映出一个项目历史的迭代过程和目前的进展,这当中有用户提出的改进,有作者自己加的一些特性。每个 Issue 有一个标签,能反映出这个 Issue 是 bug 还是增强,还是新特性。建议你只过滤出增强和新特性。这基本上就是一个项目迭代的历史过程了。如果一个项目都没有 Issue,只能说明迭代度比较差,或者受到的关注度使用度比较少。这种项目也基本没有看的必要。 -如果你发现在这个赛道里有一大批活跃高 star 的项目,他们也各有特点。基本上可以解决所有的这个领域的痛点。那么还是建议你换一个赛道。你的项目一定要有自己的特点,如果你的项目的特性,使用方式都和其他项目差不多或者还不如其他项目,那为什么指望用户用你的项目呢。 +如果你发现在这个赛道里有一大批活跃高 Star 的项目,他们也各有特点。基本上可以解决所有的这个领域的痛点。那么还是建议你换一个赛道。你的项目一定要有自己的特点,如果你的项目的特性,使用方式都和其他项目差不多或者还不如其他项目,那为什么指望用户用你的项目呢。 那有些同学就会说,现在开源项目那么多,在每个领域都有很多已经做的非常好的项目了,我怎么做都感觉是在造轮子,既然造轮子无意义,那我也没有做的必要了。