11种方法助你成为开源编程能手

现在非常多的人都想涉足开源的,但不知道从什么地方入手。这里有几种方法可以帮帮忙,即使你缺乏信心,你但仍然能够让你挑起技术大梁。

开源软件改变了计算乃至整个世界,也许你也想为这样一件事做出贡献。但不幸的是,很多人认为参与这样的项目具有很高的门槛。我经常听到人们说,他们很乐意贡献但不能的原因有三个:

  • “我不是一个很优秀的程序员。”
  • “我没有太多的时间投入进去。”
  • “我不知道什么项目值得去努力。”

我从开源代码的新手中观察到最有害的想法是,想要做一名优秀的有贡献的开源编程人员必须具有极高的天赋,这是不正确的。当然,还有那些在开源世界谁被认为是摇滚明星的,他们可能确实是天才程序员。然而,我们中的绝大多数都不是,但我们仍然为改变世界做着自己的贡献。

开始听

在开源代码的一切涉都及到其他人。如果你想加入一个团队,这意味着了解社会,了解它是如何工作的。进入一个项目中,并说:“这是我认为这个项目应该做的事”,这通常不视为一件好事。有些项目可能会喜欢这样的想法,但是如果项目已经运行了一段时间,那这种态度被接受的可能性就很小。听是要知道这个项目需要以什么样加入方式为最佳。

1.加入邮件列表

对于许多项目,邮件列表都是关于项目开发沟通的主要渠道。在大型项目中,有许多邮件列表可供选择。例如,PostgreSQL的项目有不少于12个面向用户的列表和6个开发人员的邮件列表。我建议主要从面向用户的列表和核心开发者的邮件列表开始听。

2.关注博客

由核心开发人员维护的博客往往会给出在将来的版本当中出现的一些信息,以及什么时候能够得到那些信息等等。

3.加入一个IRC频道

很多开源项目都有专门的互联网中继聊天(IRC)的渠道,开发人员和用户挂出问题以及讨论项目的进展等等。

入门工作

代码是任何开源项目的核心,但编写代码并不是帮助入门的唯一途径。代码以及周围代码系统的维护通常都容易被忽视,这些地方不仅能修正错误而且能够创新功能,可以从这些地方入手来参与一个项目。

4.诊断错误

诊断和筛选一个错误可以帮助开发人员节省更多的时间来找出问题的细节。如果用户反映到,“当我做x工作的时候软件不工作”,那么这时候你应该检查这个问题的细节。是否这个问题是重复的,如果是你可不可以创建一组解决这类问题的步骤,将此类问题缩小。即使你不知道是什么原因造成的问题,你可以把问题的范围缩小从而减少其他人员解决问题的时间。

5.关闭修复的错误

错误往往是固定在代码库的,清理这些东西可能非常的耗费时间,但是对整个项目非常有价值。检查项目发布的更改日志,看看错误是否是固定的,如果是可固定的,注意版本号并将其关闭。

处理代码

所有有经验的程序员都可以在整个项目的代码当中起到很大的作用,你不必认为只有天赋异禀的程序员才能对项目起到作用。每个项目都有自己的工作流程,所以在提交代码之前询问清楚如何做。当你修改代码时,请确保你作为项目当中的一员,并保持你的代码风格和代码库的其他代码是相匹配。

6.测试一个测试版或发布一个候选版

任何项目运行在多个平台都可能遇到各种各样的兼容性问题。当测试版或候选版发布后,该项目负责人希望它会由很多不同的人在不同的平台进行测试,你可以负责这个工作来帮助项目能够顺利的完成。

7.修正bug

这通常都是代码工作者刚开始想从事的工作,这很简单:在interesting-sounding系统中找到错误并且尝试修复代码,并检查代码的放置是否合适。同时添加测试的套件来测试那些固定的代码。有些项目需要bug修正并且测试。

8.编写一个测试

大多数项目都有一个测试套件的测试代码,但很难想象一个测试套件不能附加给它更多的测试。使用类似于gcov或者C的测试工具来检测到未通过测试套件的源代码领域,然后添加一个测试套件来掩盖它。

9.无声的编译器警告

构建许多以C为基础的项目往往会在屏幕上出现奇怪的编译器警告标志。这些警告通常是没有问题的指向的,这时你应该检查是否该代码实际上有隐藏的错误。

10.添加评论

当你开发过的代码你感到疑惑时,别人也可能在同样的地方感到疑惑。此时你应该记录这样的代码同时提交一个补丁。

使用文档

文档在一个项目中往往是遭到冷遇的一部分。文档可能是以熟悉项目的角度来编写的,而不是以一个刚接触项目的角度。因此很多项目的试用文档并没有被重视起来。

11.创建一个示例

没有一个项目有太多的示例,无论是web API,还是一个GUI应用程序都没有使用的较好的示例,也没有可以更明显和迅速解释正确使用的程序的示例。对于一个API或库,创建一个使用的示例程序,这甚至可以从你写的代码提取出来。因此我觉得创建一个使用的示例是非常必要的。

时间: 2024-11-01 22:03:43

11种方法助你成为开源编程能手的相关文章

哪些情况是友情链接作弊?总结了11种方法!

相信大多数SEO人员都知道有友链这么一个名词,那么如何做友链? 如何做好友链却很少有人知道.做友链有很多渠道,使用的比较多的有两个. 第一个渠道是友链交换平台:(爱链)(换链神器) 第二个渠道是QQ里查找交换友链相关的群关键词: 前面说到如何做友链,那么如何做好友链呢?先说下定义,这里说的做好友链指的是我们网站不对友链网站传递权重.做好友链,要先知道有哪些友链作弊的方法,这里总结了11个方法想跟大家分享: 一:垃圾站 网站排版和软文排版是否清晰合理,垃圾站文章都是采集的,语句不通顺. 二:作弊站

让你的app体验更丝滑的11种方法!冲击手机应用榜单Top3指日可待

欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由WeTest质量开放平台团队发表于云+社区专栏 一款app除了要有令人惊叹的功能和令人发指交互之外,在性能上也应该追求丝滑的要求,这样才能更好地提高用户体验. 以下是本人在工作中对经历过的性能优化的一些总结,依据故事的发展路线,将其分为了5个部分,分别是:常见的性能问题:产生性能问题的一些可能原因:解决性能问题的套路:代码建议及潜在性能问题排查项. 1.png 如看不清大图,下文会有拆解 一 首先,我们先了解一下都有哪些性能问题

大牛耗时一年最佳总结,让你的app体验更丝滑的11种方法建议收藏

我们的态度是:每天进步一点点,理想终会被实现. 一款app除了要有令人惊叹的功能和令人发指交互之外,在性能上也应该追求丝滑的要求,这样才能更好地提高用户体验. 以下是本人在工作中对经历过的性能优化的一些总结,依据故事的发展路线,将其分为了5个部分,分别是:常见的性能问题:产生性能问题的一些可能原因:解决性能问题的套路:代码建议及潜在性能问题排查项. 如看不清大图,下文会有拆解 一 首先,我们先了解一下都有哪些性能问题 1.内存泄露. 通俗来讲,内存泄露不仅仅会造成应用内存占用过大,还会导致应用卡

11种常见的AD滤波算法

第 1 种方法 限幅滤波法(又称程序判断滤波法) A 方法 根据经验判断,确定两次采样允许的最大偏差值(设为 A)每次检测到新值时判断:如果本次值与上次值之差<=A,则本次值有效如果本次值与上次值之差>A,则本次值无效,放弃本次值,用上次值代替本次值 B 优点 能有效克服因偶然因素引起的脉冲干扰 C 缺点 无法抑制那种周期性的干扰平滑度差 D 实例程序 1: /* A 值可根据实际情况调整value 为有效值,new_value 为当前采样值滤波程序返回有效的实际值 */ 2: #define

Godaddy空间,PHP,邮件发送网页表单的两种方法

这里采用的是Godaddy 的Linux主机,Windows主机应该也是类似,本人未尝试. 第一种方法,利用php自带的mail()函数发送邮件 文件组织,将123.html与send.php两个文件放在同一目录下 123.html <!DOCTYPE html> <html> <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"&g

成为开源编程高手的11个技巧

现在非常多的人都想涉足开源的,但不知道从什么地方入手.这里有几种方法可以帮帮忙,即使你缺乏信心,但仍然能够让你挑起技术大梁. 开源软件改变了计算乃至整个世界,也许你也想为这样一件事做出贡献.但不幸的是,很多人认为参与这样的项目具有很高的门槛.我经常听到人们说,他们很乐意贡献但不能的原因有三个: "我不是一个很优秀的程序员." "我没有太多的时间投入进去." "我不知道什么项目值得去努力." 从开源代码的新手中观察到最有害的想法是,想要做一名优秀的

WPF编程,使用WindowChrome实现自定义窗口功能的一种方法。

原文:WPF编程,使用WindowChrome实现自定义窗口功能的一种方法. 版权声明:我不生产代码,我只是代码的搬运工. https://blog.csdn.net/qq_43307934/article/details/88064191 效果: 1.安装:下载地址可网上找,也可从最后的地址 2.增加引用 3.增加命名空间 ? ? ? ? xmlns:shell="clr-namespace:Microsoft.Windows.Shell;assembly=Microsoft.Windows.

零基础程序员自学编程的6种方法,你知道吗?

随着互联网日趋迅猛,编程已经在我们生活当中无处不在了.众所周知,程序员的工资都很不错,于是越来越多的人,都想加入到编程的行业中来.那么如何加入到程序员的行业当中? PHP从入门到放弃,C语言从入门到放弃,Java从入门到放弃,Python从入门到放弃... 在自学编程的过程中,一部分程序员遇到冰冷的英语字母,枯燥的编程教程,果断选择了放弃. 但其实自学编程不是那么难,只要是逻辑思维或者理科比较好的还行的小伙伴,编程入门完全可以. 下面小编就介绍一些自学编程的小方法,希望能对你有帮助: 首先我们要

Javascript异步编程的4种方法

转自 阮一峰 http://www.ruanyifeng.com/blog/2012/12/asynchronous%EF%BC%BFjavascript.html 作者: 阮一峰 日期: 2012年12月21日 你可能知道,Javascript语言的执行环境是"单线程"(single thread). 所谓"单线程",就是指一次只能完成一件任务.如果有多个任务,就必须排队,前面一个任务完成,再执行后面一个任务,以此类推. 这种模式的好处是实现起来比较简单,执行环境