罗然、蒋宝尚编译

如何建设一个成熟的GitHub项目?

如何建立一个成功的GitHub项目呢?

人们出于各种原因在GitHub上发布他们的代码项目,大多数是因为他们想向公众展示编码技能或推广自己的产品。考虑到这一点,我们可以用4个标准点来定义“成功”的GitHub项目:

  • 自身受益

  • 益于他人

  • 上手简单

  • 广泛关注

达到这些要点将会给你的项目带来巨大的价值,并有助于实现展示自身技能或产品的更加高层次目标!

让我们分别仔细了解这些要点。

自身受益

在我们的日常工作或学校作业之外做额外项目是学习新技能的绝佳方式!通过额外项目的锻炼,至少你可以了解以下几点:

  • 概要要求 - 您希望为项目构建什么?

  • 高级设计 - 有哪些不同的组件以及管道是什么样的?

  • 开发 - 实际编写项目编码

  • 测试 - 确保您的项目没有任何重大错误,尤其是当人们在线查看代码时!

  • 答辩 - 回答项目的GitHub问题

至此,你可以从软件工程的每一步中学习!

不断提高当前自身的水平,承担比以前更大的项目; 选择的需求和设计要具有足够的挑战性。因此,设计本身将更加复杂,这将需要进行更细致的思考。不能把所有东西都扔进几个文件夹中!

因为系统可能需要处理更多,并且还得要求以一定的速度运行。或是由于其庞大的规模和复杂性而被构造成更多的解耦微服务风格。

现在开发周期本身要大得多,需要更多时间。你应该先写哪一部分的程序?它们需要花费多长时间?哪个代码部分最重要?

也许你这次需要混合使用不同的编程语言。也许新项目需要在云上托管内容,因此还需要了解如何使用AWS,GCP或Azure!测试需要从单元级别一直到端到端系统级别。一个简单的边缘情况可能会破坏整个系统!

总而言之,当接受一个新项目时,做一些能将技能提升到新水平的事情,这个过程中可以学到一些真正有价值的东西。

益于他人

记住,在地球上振金是最有价值的物质

人们为什么star或fork某些GitHub项目而不是其他项目?(star和fork是GitHub项目的右上角的三个按钮)为什么有人真正购买这些服务?…因为它很有价值。

对他们有价值。

如果你希望人们使用你的项目,你必须创建对他们有价值的东西。做一些不同的排序算法和数据结构的项目很棒(达到展示的效果即可),但他们并不是真的会说“嘿,我真的可以在现实世界中使用这些代码”,因为要达到你在GitHub上展示的效果,还需要做大量的基础工作。

如果能展示如何使用这些技能创造更多东西,那就更好了。是否能通过你对算法的理解来创建一个非常棒的加密算法; 或者可能使用其中许多算法的存储库,从而测试它们的速度和安全性?用你的面向对象编程技巧制作一个致命的Android应用程序怎么样?

这肯定会告诉其他人,你可以为Android使用Java编写代码。

最重要的是,你想创造一些你认为别人会觉得有用的、具有现实世界实用价值的东西。你可以在简历上写上你了解机器学习,但是通过一个非常棒的现实世界项目,向别人展示机器学习更有吸引力,就像你在工作中所做的或发布产品或API一样。

上手简单

人们讨厌困难的事情。当他们花钱买东西时,他们想要它砰的一声就可以实现其功能(就像变魔术一样)!他们不想通过任何复杂的指令或步骤1到1000来使用他们买的东西!这正是苹果成功的部分原因:用户友好。

对于GitHub项目,首先要提供良好的文档格式。应该使用Markdown文档作为README文件,以便于阅读。Markdown允许在自述文件中放置标题,粗体,斜体,图像,表格和可点击链接等内容。需要描述项目的用途,以及如何使用它的快速展示!

希望项目本身易于使用。代码应该写得很好并且干净,以便其他人可以轻松地读懂它。使人们下载代码并立即使用它达到不难的程度; 使用时需要很少的开销。保持文件本身易于解释和查找。使用项目中的所有功能/模块应该像更改主文件中的命令行参数一样简单。

如果你计划让雇主评估你的编码技能或人们使用你的产品,假若你的项目展示从一开始就清楚,那么对他们来说就更有吸引力了。人们喜欢使用你的项目,如果对他们来说操作简单,他们查看的时间则超过五秒。

广泛关注

像复仇者联盟预告片一样做广告

在上述所有观点中,最常见的可能是错过了这一点。 有人可能会说“嘿,我做了一个非常棒的项目,所有的朋友都说它很酷,但网上很少有人看到它!这是什么原因呢?”

这就是问题所在。你的项目令人惊叹并不等于被广泛关注。前者可以在没有人知道的情况下完成,你肯定会在这个过程中学到很多新技能!但后者需要一种完全不同的方法,对于从人们那里获得反馈,从项目中学到更多东西非常重要。

如果希望人们看到你的项目,获得反馈并找出那些不足和缺陷,你需要进行某种类型的“营销”。把这个词放在引号中,因为我并不是指传统的营销类型,即支付广告费用并放置广告牌。我只是想表达需要采取实际行动,为你项目的实际行动而提出这个词。

将它发送给朋友和同事,并询问他们是否喜欢它。在相关的Reddit页面上发布链接。在LinkedIn上发布效果会很棒,因为随后同事,雇主和潜在的商业客户都会看到您的项目。

Twitter也很棒,因为事情变化如此之快,如果你的项目是好的和有吸引力的,它的受欢迎程度会爆炸,你的项目会像荒原上的野火一样蔓延! 就像博客一样,尝试使用一些超级有趣和华丽的图像来吸引人们的注意力并具有娱乐性!

总而言之,如果你想让人们看到某些东西,你需要做广告,简单明了。

相关报道:https://medium.com/@george.seif94/the-keys-to-a-successful-github-project-8e5fd3dccd2f

大数据文摘
大数据文摘

秉承“普及数据思维,传播数据文化,助⼒产业发展”的企业⽂化,我们专注于数据领域的资讯、案例、技术,形成了“媒体+教育+⼈才服务”的良性⽣态,致⼒于打造精准数据科学社区。

入门GitHub
3
相关数据
机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

推荐文章
暂无评论
暂无评论~