zoukankan      html  css  js  c++  java
  • OpenCV PR 成功的收获和感悟

     2018-09-12,第一次对OpenCV PR成功

    https://github.com/opencv/opencv/pull/12206
    《find innercircle of contour by using pointPolygonTest》

        

        
        总的来说,参加PR绝对是一件消耗时间精力(特别对于新手),同时收获非常巨大的事情。下面,分几个方面对这次工作进行总结。
        一、价值和收益
        1、获得名誉、结交高手
        这是隐性的收获,但却是绝对重要的收获。在anwseropencv上面的交流,在githup里面提交pr和issue,你所交流的这些人,都是这个方向最为优秀的工程师,和他们进行交流,能够有很多收益。
        2、项目理解
        正是因为要向项目提交代码,强迫自己必须从结构、细节等多个方面去理解这个项目,绝不是仅够用就可以。这就使得你对项目的理解能够更上层次,进一步地理解项目内容;
        更深入的理解,带来的结果,显而易见是在使用的时候能够更得心应手。“你对你所做的了解的越多,则越能够做得更好”    
        3、代码规范;
        我们都说cleanCode,但是你写出来的到底是不是cleanCode,只有一个笼统的概念。OpenCV通过自动构建,你必须按照它的规范来写(严格到多一个空格,或者使用了tab而不是四个空格都不可以),这就要求你必须尽可能地用规范代码编写,养成良好习惯。【附录我会给出一个被拒绝的具体情况】
        同时,owner会提示你正确的代码是怎样的(因为他拒绝你总要给个合适理由),往往这些提示都是非常精准的。就是通过这个过程,能够让我写出高质量的代码;
        二、成功pr的来源
        1、选题必须要恰当
        简单的来说,绝对不能为了pr而去pr,而是要在自己的使用OpenCV的过程中,确实发现的问题、确实发现的更好的算法,那么通过pr就能够帮助你将初步的想法变成一套正规的解决方案。
        2、代码必须符合规范
        相比较逻辑错误,由于代码规范问题导致的错误更容易成为你的绊脚石;
        3、把我节奏,注重效率
        pr最终还是和人的沟通,那么要注意管理员的活跃时间,以及和他们进行有理有节的“斗争”。
         三、关键的工具
        1、github desktop
        2、www.github.com
        3、buildboot等自动化工具,要首先让代码在本地能够通过包括“代码格式”的审核,然后再上传上去。
        
     
        PR,特别是对OpenCV这样的伟大项目的PR,应该说非常有价值意义。值得投入时间进行研究,尽快提高PR成功的可能。
     
       p.s
    opencv的pr是自动编译的,如果编译不通过,肯定不会被merge,首先要过的就是merge这关
    为了稳定,opencv不允许warning,这也是为了编写高质量代码
    像这种warning,可能平时写程序的时候,完全不会在意,但是build就不通过。这样对代码质量提出更高要求。
    只要告诉我哪里错了,就没有问题。    
     
    语言习惯错误
     
    历史版本问题
     
     
    之前的红的好像过去了
    空格都能看出来,厉害
     
     
     
    这个时候,管理员介入了,出现了更多错误
     
     
     
     





  • 相关阅读:
    ES 分组排序java实现
    java多线程中的死锁、活锁、饥饿、无锁都是什么鬼?
    Java 虚拟机对锁优化所做的努力
    Docker 核心概念、安装、端口映射及常用操作命令,详细到令人发指。
    20条最最常用的Linux命令讲解
    Linux查看系统配置常用命令
    全面认识Docker和基本指令
    25个深度学习开源数据集
    Docker 简单运用
    一小时学会C# 6
  • 原文地址:https://www.cnblogs.com/jsxyhelu/p/9638409.html
Copyright © 2011-2022 走看看