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

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

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

“我不是一个很优秀的程序员。”

“我没有太多的时间投入进去。”

“我不知道什么项目值得去努力。”

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

开始听

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

  1.加入邮件列表

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

   2.关注博客

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

3.加入一个IRC频道

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

入门工作

代码是任何开源项目的核心,但编写代码并不是帮助入门的唯一途径。代码以及周围代码系统的维护通常都容易被忽视,这些地方不仅能修正错误而且能够创新功能,可以从这些地方入手来参与一个项目。比如,参加一场编程大赛:http://www.ijiami.cn/newsInfo?id=519&v=2

 4.诊断错误

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

    5.关闭修复的错误

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

处理代码

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

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

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

 7.修正bug

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

  8.编写一个测试

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

 9.无声的编译器警告

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

    10.添加评论

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

 使用文档

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

 11.创建一个示例

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

时间: 2024-11-08 22:47:45

成为开源编程高手的11个技巧的相关文章

提升编程能力的11个技巧

提升编程能力的11个技巧 1.首先仔细分析问题 2.接着好好想想如何解决这个问题 3.收集整理所有需求 花点时间将最终产品要实现的目标写下来,并且明确哪些是我们的目标用户群.如果这一步能做好的话,将会给后面节约大量的时间,正所谓磨刀不误砍柴工. 4.写一个全面的实施计划(或模型) 如果是个小项目,这一步出来的可能只是一个基本的流程或者一个简单的等式. 如果是个比较大的项目,这一步有助于我们将它切割成几个模块,然后再按下面的问题思考: ●各个模块需要执行什么任务 ●模块之间如何传递数据 ●如何调用

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

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

PLSQL Developer 11 使用技巧(持续更新)

PLSQL Developer 11 使用技巧 (持续更新) 目录(?)[-] 首先是我的颜色配置 常用快捷键 提升PLSQL编程效率 按空格自动替换 关闭Window窗口 PLSQL 实用技巧 TIP 1单击进入VIEW模式 TIP 2存储过程DEBUG单步执行 TIP 3更改文件夹颜色 TIP 4保存页面布局 TIP 5中文显示问题 TIP 6代码高亮和使用书签 TIP 8SQL窗口的快捷键 有用 TIP 9 Windows list名字显示不下来 TIP 9.5 多数情况下对于重要的Win

编程高手解读什么是NodeJs

编程高手解读什么是NodeJs?    首先在搞清楚什么NodeJs之前,我们先来聊聊JavaScript,只要做过开发的人都应该知道JavaScript是目前最为流行的前端(客户端)脚本语言,JavaScript在Web项目中的使用率可以说是99%以上,不夸张的举个例子:"现在你打开的100个网页中,有99个都使用了JavaScript".那么为什么JavaScript这么火,其实原因非常非常的简单,JavaScript出现赋予网页新的生命力,从一开始它只为表单验证而生,到现在百万亿

程序员修炼指南——引导你成为真正的编程高手

@程序员修炼指南——引导你成为真正的编程高手 评,这是一个指导方向,不一定是你自己的目标,但如果这些你都做到了,那还有哪些是不能做到的? 前言 你是否觉得自己从学校毕业的时候只做过小玩具一样的程序?走入职场后哪怕没有什么经验也可以把以下这些课外练习走一遍(朋友的抱怨:学校课程总是从理论出发,作业项目都看不出有什么实际作用,不如从工作中的需求出发) 建议: 不要乱买书,不要乱追新技术新名词,基础的东西经过很长时间积累而且还会在未来至少10年通用. 回顾一下历史,看看历史上时间线上技术的发展,你才能

提高编程技能的11个建议

不说废话,直接上步骤. 1.首先仔细分析问题 2.接着好好想想如何解决这个问题 3.收集整理所有需求. 花点时间将最终产品要实现的目标写下来,并且明确哪些是我们的目标用户群.如果这一步能做好的话,将会给后面节约大量的时间,正所谓磨刀不误砍柴工. 4.写一个全面的实施计划(或模型). 如果是个小项目,这一步出来的可能只是一个基本的流程或者一个简单的等式. 如果是个比较大的项目,这一步有助于我们将它切割成几个模块,然后再按下面的问题思考: 各个模块需要执行什么任务 模块之间如何传递数据 如何调用模块

freecodecamp 教程:自由的开源编程社区

欢迎来到freecodecamp中文社区(freecodecamp 教程:自由的开源编程社区) freecodecamp是什么?freecodecamp 是一个自由的开源编程社区,它致力于抹平教育差距, 让像你我一样的平凡人也能享受到花费巨资才可能享受到的优质教育. freecodecamp的特点freecodecamp最大的特点是它本身就是个开源项目. 我们不仅可以在freecodecamp上学习,还可以利用所学的知识来把freecodecamp建设得更好. 学编程的都知道编程语言之间的区别很

调试和编程高手

业界总是有高手之说,高手成了程序员心中之偶像,成了程序员成长之目标.但是,现实中人们往往对自己所了解的程序员,很难认同为高手:人们反而对那些自己不了解的,甚至是道听途说的人会认作为高手了.高手,同武林高手一样,神秘之至. 许多程序员都有这样的经历:无论自己编写什么很短很短的程序,一般是很难一次就能通过编译的:通过编译的其功能还不一定是正确的.我在很早就注意这样现象了,开始的时候,我还不信这个邪,还试着编写程序看看自己能否一次能否编译成功,为这个事还和别人打过赌呢!这当然是年轻时做过的事了.后来我

如何成为编程高手

Java书籍 java编程思想 Java语言程序设计 成为一名编程爱好者需要经历以下几个阶段: 第一阶段: 此阶段主要是能熟练地使用某种语言,最好是当下比较热门的语言,如:C#.Java.C或C++等等,当然也包含其他的语言,这就相当于练武中的套路和架式这些表面的东西. 第二阶段: 此阶段能精通某个平台(如.NET平台.Java平台等等)的Web技术或GUI窗口技术(Windows GUI),到达这个阶段后,也就相当于可以进行真实散打对练了,可以真正地在实践中做些应用. 第三阶段: 此阶段能深入