如何在 GitHub 创建一个“有人用”的项目

by admin on 2020年4月22日

有时我会陷入读着编程书但编不了程的陷阱。我不能总是找到一个可工作的有趣项目,即使我知道有大量的机会。如果你有相同的问题,这里的一些提示可能会有所帮助。

 

导读:本文是从作者Avdi Grimm发表的一篇博客《 Letter to a Young
Developer
》翻译而来。文中给想要成为一名成功的程序员提供了几点建议,供大家学习、参考。

文章内容如下:

我收到了不少新手的来信,他们都希望能成长为一名真正的程序员。我绝对不是第一个谈论这个话题的人,所以,我不知道应该做哪方面的补充。不管怎样,下面的是一些一直记在我心头的、有必要读一下的建议:

找其他开发人员合作开发。我们正处在科技历史上第一个绝好的时代,你几乎不用在意在哪工作、为谁工作。只要你有一个还过得去的网络,你就可以和另外一个在世界任何角落里的人一起来完成某段程序。我知道,越来越多的有经验的开发人员开始把他们的一部分时间投入到这种知识共享里。我的朋友Evan
Light特地留出了时间来开发一个帮助Ruby爱好者合作行动的网站。我从事这样的事情也有一段时间了。你想开发一些FLOSS程序吗?发邮件给我,我们会帮你准备些东西。

阅读经典著作:《代码大全(第二版)》, 《程序员修炼之道》, 《程序设计实践》, 《设计模式》等。

阅读WikiWiki (有时也被称作WardsWiki)。这一条怎么强调也不为过。经常我会感觉到所有我学到的真正关于编程的知识都是在浏览这些网站的过程中慢慢的学到的。

学习别人的代码。 GitHub万岁!如果你会一点Ruby,想从别人整理好的现成经验入手,你可以读一下《Best
of Ruby Quiz》。

参与开发者论坛。如果没有这样的网站,创建一个。讨论问题。我不在意你认为自己是一个多么菜的菜鸟。没有任何一种形式能比通过讨论一个问题来学习这个问题更有效的方法了。

写博客。不要在意是否是原创。互联网上很多非常有用的博客都是广泛的搜集程序员的经验和错误,以及如何克服这些问题的博客。反省是学习过程中最重要的一件事情,写博客能帮助你反省。会出乎你的意料,你不久就会收到你的读者的反馈。

我相信你之前听说过这一条:参与开源项目,修改其中的bug或捐献代码。

丢硬币。是头像就选择Vim,否则选择Emacs。学习使用这些编辑器。应该让这两种编辑器伴随你余下的编程生涯。强大灵活的编辑器会让好程序员更好。

多学习几种编程语言。但起初应该先学一种语言。你应学习一种重要的语言,它能让你对编程语言有个大致的认识,让你第一天就爱上编程,你需要花大量的时间去学习这种语言中的各种知识,否则你漏掉知识点或不久就会忘记。一旦你掌握了这种语言,你需要学习新的语言来验证在第一种语言中学到的知识。尽量选择风格迥异的语言。我曾看过Seven
Languages in Seven
Weeks这本书,它让我认识了各种各样的编程模式,很好的书。

订阅跟你使用的语言和平台相关的邮件新闻。人们有时会忘了,在各种博客,Hacker
News,以及Twitter里,还有一个精彩的充满讨论的世界。邮件列表是一个很通用、很有用的来比较各种讨论观点的工具。

StackOverflow是你的朋友。

不要花太多的时间去研究所谓的“最好的“工具。我曾经愚蠢的花上数天或数周去为某个项目找出一种”最好“的框架来提高开发效率。不要落入这种陷阱。当你还是一个不太熟练的程序员时,选一种大家都在用的语言和框架。重要的是当你遇到瓶颈是你知道如何处理。之后你才可以去寻找一种完美的…

寻找实习机会。

以及最基本的:练习,练习,练习。在班上练,在家里练。锻炼编程基本功。编程跟其它技术一样:最终,一切归结于练习。

 

本文摘自:

如何在 GitHub 创建一个“有人用”的项目

近年来,GitHub的个人页面已经逐渐成为程序员的求职名片,它充分展示了程序员在笔试面试中很难展示的真正编程能力。甚至有企业在招聘广告中说,GitHub项目的星数只要达到一定数量,就免试录取。这也在一定程度上说明了问题——GitHub上的项目必须要有人用,才说明你做的软件是有价值的。那么去创建一个“有人用”的项目?来自纽约的Web开发者Barry
Clark根据自己的经验给出了建议。

Barry Clark开发了Jekyll Now,很多人使用它在GitHub
Pages上写博客。这个项目在GitHub上已经收到了1200多次fork。Barry
Clark在自己的一篇博客总结了这个项目受欢迎的原因。

图片 1

Clark认为首先要做用户需要的软件。Jekyll是GitHub
Pages的后台博客引擎,但是它部署起来很复杂,使很多人望而却步。Clark抓住了用户的这个痛点,写了Jekyll
Now。它大大地降低了使用Jekyll的门槛,用户不再需要使用晦涩的命令行工具来操作,也不再需要安装Ruby,Windows用户会感觉使用起来方便很多。

解决痛点“不需要打造一个完整的产品”,只要打造一个原型,足以让用户决定是否使用就可以了。然后尽快在同事、朋友中找一些长期受困于这个痛点的人试用,接受他们的反馈。当然,你是否能成功还是取决于用户是否会使用你的软件。

图片 2

Clark谈到的第二点是,让用户能快速获得你的软件。把代码托管在GitHub上当然是一个很好的选择。要给代码库配上简要的说明,用一句话概括这个软件解决的核心问题,以便人们发现和共享它。此外,项目的Readme页面要写得尽量详细。

第三点也同样重要,要使软件的安装尽量简单。Clark认为:

安装越简单,使用你的项目并为它做贡献的人也会越多。

安装步骤要尽量简化,必要的步骤要在Readme中列出详细的条目。同时,请身边的朋友试用并给出反馈。

最后一步就是宣传了。Clark说道:

如果人们根本找不到你的项目,就不用谈从中受益了。

他介绍了三种宣传项目的方法:

  • 潜在用户经常阅读的网站
  • 潜在用户订阅的邮件
  • 潜在用户关注的人

Clark还比较了Hacker News和reddit两个网站,他认为Hakers
News受众甚广,潜在用户比例小,而reddit可以针对特定的用户群,挖掘潜力更大。他宣传Jekyll用过的手段还是有:写一篇博客介绍它,以及给Smashing
Magazine写了一篇教程,这篇教程后来在twitter上得到了转发,起到了很好的效果。

做开源项目最有成就感的地方就是,看到用户从你的项目中获益。每个人都能给他人贡献有用的软件,希望Clark的建议能对大家有所帮助。

GitHub 使用教程图文详解 

如何在 GitHub 建立组织

GitHub Linux下使用方法

Windows下Eclipse搭建GitHub开发环境图文教程

R语言 3.0.1 源码已经提交到 GitHub

从GitHub将Maven项目导入Eclipse4.2

GitHub 的详细介绍:请点这里
GitHub 的下载地址:请点这里

来源: infoq 原文:
    作者:
曹知渊

本文永久更新链接地址:

GitHub 创建一个“有人用”的项目
近年来,GitHub的个人页面已经逐渐成为程序员的求职名片,它充分展示了程序员在笔试面试中很难…

图片 3

1.与其他程序员聊天

这是最好的灵感来源,因为,他们会有一些你想不到的点子。即使是一些程序员朋友、一个编程小组或甚至是一个会议都行。将所有这些想法混合起来肯定会给你一个新的视角。

2.和非程序员一起聊天

首先,在那些让你觉得快乐或挑战思维的人身边,会让人健康,无论他们是否会写代码。第二,他们可以从用户的角度给你灵感。什么会让他们对计算机感到失望?你能想出解决方案吗?

3.有一个专用的工作区

如果不可能有一个专门的空间,那么至少确保工作时能够安静,以便于你可以专注于计算机,而不受干扰。让这个地方成为你的“革命根据地”。确保椅子舒适,可以支撑背部。手边备好水。不要一整天坐着不动——保持健康。

4.有良好的开发环境

上一个方法提示的软件版本。我不在乎你使用哪个编辑器(虽然我推荐vim),但确保你使用一个可以给你一些力量和灵活性的编辑器。总是使用源代码控制——尤其我建议你学习git,因为它会教你概念。始终备份工作。所有这一切将防止你在你不使用它们时可能会遭遇的极度灰心丧气,从而失去工作。

5.秉持开放的态度

阅读你尊敬的程序员的Twitter
Feed和博客。(如果你想的话,可以看看我的twitter
feed——大多是程序员。)RSS阅读器,例如Ruby
Inside或者老式的Planets,都可以是很好的新闻来源,因为它们会添加突出的新程序员,而不必你去搜索。选择一些你通常不会阅读的主题的博客,并订阅它们。

是的,这可以让你陷入阅读代码而不写代码的陷阱,但进入更大的编码生态系统对你是有益的,是激发思绪的源头。

6.阅读优秀的代码

想想你喜欢的一些软件,然后看看软件的源代码。有什么问题?你如何从中学习,或者更好的是,你可以怎么改善这个软件?有很多好代码的源,但GitHub必然是最好的之一。GitHub博客上的GitHub
Rebase系列列出了一些值得注意的新项目,如果你想要了解更多细节的话。

7.学习一门新的语言

这是一个经常被提到的经典建议。我建议学习一些以下类别中提到的东西:

  1. 中级:C,C ++

  2. 面向对象:Ruby,Python,Java,C#

  3. Functional:Scheme,Haskell,Erlang

  4. Shell:Bash,Zsh,awk,sed

  5. 基于Set:SQL

你所知道的语言越多,你就越需要用任意的语言来思考问题。你能以更多的方式思考,你就越容易找到有趣的方法来解决问题,因此找到一个激动人心的项目。(当然,不要局限于这个列表。)

8.学习好的技巧

而不是一种特定的语言,从书中学习好的通用技术,如《The Pragmatic
Programmer》,《Structure and Interpretation of Computer
Programs》,和《The Little
Schemer》。(最后两本特别关于Scheme,但非常好,很值得一读。)

9.找一个娱乐项目

有一个娱乐项目是很令人愉快的,当你在其他项目上受到挫折时,你就可以转而去搞搞娱乐项目。不管是什么样的娱乐项目,只要你有即可。不要感到被迫分享它或使它成为某种成功——它只是帮助你解决问题的玩意儿。

10.写一个游戏

很多人认为编写游戏是在浪费时间,因为很少有独立游戏在商业上是可行的,但如果你是玩家,那么还是写一个吧。它是治疗性的,有很多深刻的概念会在你在工作的时候自然而然地浮现在你脑中。我就写了一些小游戏,几乎所有都没有发布过;它们是试验,也是宝贵的经验财富。如果你不知道怎么起头,那么试试Roguelike。

11.采取暴力方法

我知道,题目说是10个方法,但是这一条是在你真的有了灵感之后的奖励提示。看看你的编程书籍,RSS订阅,twitter,Stack
Overflow或任何其他编程信息的源。找到两个不相关的主题,甚至你只觉得略有趣味。现在找到方法来连接两者。即使有点模糊。

例如,就随机的,我选择了解析器和…无障碍环境。你可以了解它们,然后编写一个HTML解析器,并特别关注无障碍因素。截至今天,我没有看到太多关于这个主题的代码,所以这可能是一件好事。(这里有一个开源的无障碍测试器,我找到的一个例子,但一个是不够的。)

英文原文:10 Ways to Get Inspiration as a
Programmer

编译:码农网

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图