专栏首页大数据文摘资源 | 如何建设一个成熟的GitHub项目?

资源 | 如何建设一个成熟的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

【今日机器学习概念】

Have a Great Definition

本文分享自微信公众号 - 大数据文摘(BigDataDigest)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-10-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 两岸四地消费者信心指数出炉:中国大陆消费者信心指数评析

    大数据文摘
  • 合成特朗普的西班牙语演讲,新研究实现跨语言语音克隆 | 一周AI最火论文

    呜啦啦啦啦啦啦啦大家好,本周的AI Scholar Weekly栏目又和大家见面啦!

    大数据文摘
  • 全球景点之手机安全排行榜

    大数据文摘
  • 剖析公司技术栈

    来源:www.cnblogs.com/wangsen/p/9329735.html

    Java团长
  • 论程序的成长—— 你写的代码有生命力吗?

    做了五年多的程序员了,回过头来看了看以前发的一些帖子,颇有一番感想。 我最得意的就是对数据访问的处理方法(我的数据访问层),倒不是说他有多么的强大、多么的完善,...

    用户1174620
  • day48_项目管理学习笔记

    黑泽君
  • maven parent

    5.2.parent artifactId 父项目的artifact标识符 groupId 父项目的group标识符 v...

    cloudskyme
  • 在阿里,我们如何做好一个项目的启动

    阿里妹导读:俗话说“好的开始是成功的一半”,管理一个项目也是这样,项目运行中的遇到的问题往往就是在填项目启动时所埋的坑。一个好的项目启动能极大地提高项目成功的概...

    IT云清
  • 神笔马良? AI 绘画?GitHub 上这几个项目教你怎么玩!

    前两天在 GitHub Trending 上看到个利用 AI 自动给图片上色的项目(style2paints)火起来了。

    GitHubDaily
  • 软件项目失败最常见的5大原因

    软件项目失败最常见的5大原因 最佳实践建议在启动一个新的软件项目时,寻求一名在软件开发领域具有丰富经验并且可以在项目计划的早期阶段提供协助的主题专家的帮助。这一...

    用户1289394

扫码关注云+社区

领取腾讯云代金券