idea非开源安装指南

想为一个开源项目做贡献,但不知道从哪里开始? 在不熟悉的代码库中找到要解决的第一个问题似乎很困难-甚至在数百万行代码的情况下更是如此-但通常比看起来容易得多。 本文应该为您提供一些入门技巧和想法。

做出明智的选择

开发人员出于各种原因为开源项目做出了贡献。 有些人想修复错误或添加缺失的功能,而另一些人则希望获得经验或有机会使用有趣的技术。 无论您是出于何种原因,请确保选择自己关心的项目并使用自己。 您可能最终会花费大量时间进行处理,并且与该项目相关将有助于您保持动力。

设置您的开发环境

在向项目贡献任何代码之前,您需要能够在计算机上对其进行编译,测试和调试。 设置开发环境也是使自己熟悉代码库的第一步。

克隆项目的存储库,并查看如何执行此操作。 通常,项目的“ README”文件中会有特定的说明。 安装所有工具和依赖项并配置系统。 如果有自动化测试,请确保可以运行它们。

对于较小的项目,这可能非常简单。 如果您使用的是解释语言,那么您甚至根本不需要做任何事情。 另一方面,如果您是第一次编译Linux内核,GTK或类似大小的应用程序,则可能要花一些时间。

掌握构建系统非常重要。 您将能够试验代码,对其进行更改并查看会发生什么。 这也将使您更容易理解人们在说什么。

进入循环

加入邮件列表,访问IRC频道,查看错误跟踪器,并阅读项目Wiki。 开源项目背后的团队可以通过多种方式进行交流。 成为开发人员所在的地方。 如果您不想参加,则无需参与,只需查看发生了什么即可。

如果您自己是应用程序的用户,并且已经设置了开发环境并尝试对其进行编译,则很有可能进行通信。

加入大型项目的邮件列表每天可以将数十甚至数百封电子邮件带入您的收件箱。 其中许多将是补丁程序,或者毫无意义。 不必担心,当然也不必阅读全部内容。 观察开发人员的工作方式,然后您将慢慢开始解决所有问题。

保持联系

当您阅读邮件列表,观看bug跟踪器一段时间后,仍然找不到任何可处理的内容时,请不要害怕询问。 首先尝试IRC频道-说明您一直在尝试该项目,并且正在寻找可以做的事情。 如果项目页面指定了与他们进行通信的首选方式,请尝试使用该方式。

您还可以向维护者或开发者之一发送电子邮件,以寻求有关如何参与的指针。 再次说明您尝试做的事情,但要简短明了。 请记住,他们在业余时间这样做,可能会很忙。

当心将这些初学者的问题发送到项目邮件列表或论坛。 您的电子邮件可能会到达数千名订阅者,他们可能只希望在那里进行技术讨论。 确保欢迎一般性问题。

在着手添加重要功能或进行实质性重构之前,请务必先询问他人。 您所做的更改可能与作者的计划背道而驰,并遭到拒绝。 并非所有维护者都热衷于接受新贡献者的大量变更。 首先赢得他们的信任。

提交补丁

这里的一般规则是:如果希望将代码包括在上游,则使维护人员尽可能容易地做到这一点。 不要忽略补丁提交指南,并遵循首选的代码格式和命名约定。 如果有单元测试,请运行它们并修复所有损坏的测试。 如果要添加新代码,则也要为其添加测试范围。

如果您收到的第一份代码审查并非完全肯定,不要气our。 借此机会从审阅者的异议中吸取教训,更改您的代码,然后再次提交。 这并不一定意味着您犯了可怕的错误,只是维护者采取了不同的方式并试图使代码库保持一致。

如果您的更改最终被拒绝,无论是什么原因,请不要以个人为中心而尝试其他操作。 考虑先与维护者交谈,以便您了解他们的需求。 如果您的想法有很大不同,则继续进行另一个项目可能会更容易。 它们太多了,您肯定会找到一个适合您的。

奖励

为开源做出贡献可能会令人难以置信。 您会遇到很多志同道合的人,并在此过程中结识许多朋友。 您的代码可以在数百万台计算机上运行,​​并在提交代码后的几个月内产生影响。 这可能需要大量的艰苦工作,尤其是当您刚入门时,但这是值得的。 只需选择一个项目并开始成为开源开发人员即可!

初学者
开源的

有关如何开始使用开源的文章的集合 。

翻译自: https://opensource.com/life/15/2/developers-guide-getting-involved-open-source

idea非开源安装指南

idea非开源安装指南_开发人员开源指南相关推荐

  1. linux 开源谷歌浏览器_开发人员浏览器,Google开源版本等

    linux 开源谷歌浏览器 在本周的开放源代码新闻摘要中,我们将介绍Mozilla开发人员浏览器,欧盟委员会对开放数据的承诺,Google的Open Roberta计划等等! 开源新闻让您阅读愉快. ...

  2. 开发人员 面试_开发人员面试指南

    开发人员 面试 by Dave Smith 戴夫·史密斯(Dave Smith) 开发人员面试指南 (A developer's guide to interviewing) 备用标题:如何面试公司 ...

  3. idea非开源安装指南_最终的开源贡献指南

    idea非开源安装指南 I'll tell you all I know about Open Source. Let's start with something simple. You know ...

  4. 远程控制 开源 鳄梨_开发人员关系与鳄梨的共同点

    远程控制 开源 鳄梨 作者,顾问和社区建设者Mary Thengvall表示,开发人员关系在所有迭代中都建立在开源社区管理的基础上. 它包含各种角色和头衔,包括开发者倡导者,社区经理和开发者布道者/技 ...

  5. oracle java认证_如何通过Oracle的Java认证-开发人员实用指南

    oracle java认证 by javinpaul 由javinpaul 如何通过Oracle的Java认证-开发人员实用指南 (How to Pass Oracle's Java Certific ...

  6. 环形buffer代码_为什么Buffer开发人员开源了他的代码

    环形buffer代码 ``如果您要寻找开源的正式定义,您可能会偶然发现开源倡议董事会成员的这一提纲 . 如果您略过它,那么一定会发现自己觉得很符合的想法或概念. 从本质上讲,开放(和开放源代码)是关于 ...

  7. Android2019年必须知道的史上最全框架、最全开源App(高级开发人员必看,面试必看)

    声明: 最近相当长一段时间没有更博,原因在于公司内部项目孵化,周期紧张,没有时间及精力更博,今天给大家带来了整理的安卓开发比较全的各种开源框架,开源App. 图片加载库 Universal-Image ...

  8. ios开发语言本地国际化_开发人员软件本地化最终语言指南

    ios开发语言本地国际化 There are lots of great guides out there for how to prep your product for international ...

  9. 项目众包 开源项目_如何通过开源项目获利并保持活力

    项目众包 开源项目 Chen Ravid is a free software enthusiast and serial entrepreneur. He is one of the foundin ...

最新文章

  1. es6变量的解构赋值
  2. Java常用的设计模式总结
  3. GMM(Gaussian mixture model, 高斯混合模型)
  4. 设计模式C++实现——观察者模式
  5. Nginx全局块的工作进程的两个指令
  6. 结合webpack配置_前端 Webpack 工程化的最佳实践
  7. C++:数据流和缓冲区
  8. mysql 并发_Mysql事务,并发问题,锁机制
  9. C++自己实现一个String类
  10. IDEA配置JavaScript库
  11. python编码无法使用turtle库_使用Turtle库教Python
  12. 电子海图与雷达图像的融合显示
  13. TPMS烧录器安装 SNP739
  14. linux命令大全 load,linux命令TOP参数load average详解[转]
  15. 中医针灸学综合练习题库【7】
  16. 数字图像处理与Python实现-Scikit-Image-图像滤波(三)
  17. Filebeat+Kafka+Logstash+ElasticSearch+Kibana搭建完整版
  18. 记录在使用类加载器的时候遇到的一个错误:java.lang.LinkageError
  19. 美团饿了么外卖红包cps赚钱小程序源码
  20. 加拿大前十大学计算机硕士学费,加拿大各大学硕士学费的情况介绍

热门文章

  1. 5、URLConnection(2)
  2. 贪心算法——Huffman 压缩编码的实现
  3. Java 8 特性 – 终极手册(一)
  4. 使用jquery datatables插件遇到fnReloadAjax的问题
  5. Linux的shell编程
  6. jvm学习笔记(4)——jvm配置调优
  7. Java对json遍历_如何遍历Java中的json对象
  8. python assert
  9. sweetalert插件的使用
  10. Android通讯录查询篇--ContactsContract.Data 二(续)