首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

开源社联合创始人刘天栋:开源​社区重于代码,应避免“KPI”项目

看国内开源现状:发展可喜,但依旧有需要进步的地方 从2000年开始,我就在Linux的一个发行版公司工作,后来我在甲骨文、微软的职业生涯中,也都跟开源都有直接或者间接的关系。...看国际开源优秀经验:公开透明,社区重于代码 国际上,我参与比较多的是 Apache 软件基金会,另外就是 Linux 基金会。...Linux基金会也与之类似,除了Linux 操作系统之外。它下面也是好多项目,有相应的好多基金会,所以国际大的基金会都是“社区的社区”、“基金会的基金会”。...第二点是,Apache 认为社区重于代码。这一点对国内的开源建设是非常有启发的。国内原来是“我是代码英雄,我是老大,你们都要听我的”。...代码一般,没有关系,只要大家愿意贡献进来,愿意投入精力让这个项目越来越好,这样才是一个好的开源社区。社区重于代码这一点对国内来讲,还是有很多启发的。

1K200
您找到你想要的搜索结果了吗?
是的
没有找到

如何完美避免写出垃圾代码

代码过于精炼,整体逻辑难以跟随,代码过于易读,整体就显得比较臃肿。 ?...在 GitHub 上有一个新项目,它描述了「最佳垃圾代码」的十九条关键准则,从变量命名到注释编写,这些准则将指导我们写出最亮眼的烂代码。 如何提醒自己完美避免写出垃圾代码呢?我们一起来看一看。...第十二条:嵌套的三角法则 如果代码有一些嵌套结构,或者说缩进空行的结构,三角法则是最漂亮的。 ? 第十三条:混合缩进 我们需要避免采用缩进,因为缩进会使复杂代码在编辑器中占用更多的空间。...第十六条:代码不需要做特定测试 这些测试通常是重复且无意义的工作。 第十七条:尽量避免重复代码 按想法写代码,尤其是在小团队中,毕竟这是「自由」准则。...第十九条:保存不必要的代码 在写代码的过程中,经常会产生很多测试代码。这些代码也是非常重要的资料,因此不能删除掉,最多只能注释掉。

1.1K30

代码腐烂可以避免吗?

代码也跟苹果一样,会发生代码腐烂。坏的代码就跟坏的苹果一样,会更容易发生腐烂、腐烂得更快。工作时间久了,关注的角度从个人变成了团队整体。我就会想:代码腐烂是否真的不可避免?...有什么办法能够避免代码腐烂呢? 代码腐烂可以避免吗? 对于这个问题,我想了挺久,后面发现答案是:代码腐烂不可避免,只不过是时间问题。 虽然很沮丧,但是却认清了事物的本质,走上了一条正确的道路。...总结 代码腐烂是不可避免的,几乎所有系统都在发生不同程度的代码腐烂,大多数系统在两三年后就要做一次重构。我们能做的只是减缓代码腐烂的速度,让系统能够撑得更久。...架构腐化与生物体衰老一样,是不可避免的。老人退出、信任加入、工期紧、任务重等等原因,都是不断欠下的技术债,我们无法避免。而对于代码腐烂,演进式设计或许是一个可解决的方案。...当我们思考清楚代码腐烂这件事情之后,或许我们就能更客观、更平和地接受系统里那些烂代码。因为我们知道代码腐烂是一个自然法则,是不可避免的一件事情。

63420

CA1508:避免死条件代码

这会导致条件的 false 分支中出现死代码。 默认情况下,此规则会分析整个代码库,但这是可配置的。 规则说明 方法可以具有条件代码,如 if 语句、二进制表达式(==、!...在前面的代码中,对于到达 i != j 检查的所有代码路径,分析器确定 i 和 j 均为 0。 因此,在运行时,此检查的计算结果将始终为 false。 if 语句内的代码是死代码,可以删除或重构。...这可能会增加某些代码库的总体编译时间。 何时禁止显示警告 如果不在乎代码的可维护性,可安全地禁止显示此规则的冲突。 还可以禁止显示标识为误报的冲突。...存在可从多个线程执行的并发代码时,这些情况都可能发生。 配置代码以进行分析 使用下面的选项来配置代码库的哪些部分要运行此规则。...有关详细信息,请参阅代码质量规则配置选项。 排除特定符号 可以从分析中排除特定符号,如类型和方法。

49000

代码排错和避免错误的正确姿势

等等 注意最好是拉取新的git分支来操作,避免污染原有分支的代码,搞出Bug。 换环境大法:比如换浏览器,把代码写到自己的demo项目中试试等。...不要猜测是某个原因就动手改,而是通过已有的代码和数据推断可能性,可能性很大再去试。 如果有其他好的方法欢迎补充 3、如何避免bug 以上的都是排错的方法,要保证质量应该在编码阶段。...6、分享两个神器 编程过程中,对某个类的用法不熟悉,可以看看知名开源项目都怎么写。      ...        使用快捷键可以搜索知名开源项目中该类或者方法的使用案例,超赞。  ...4、总结 本文主要讲述代码排错和避免错误的方法,希望大家写代码的同时注重方法的总结,这样才能更快速的提高编程能力。

74920

Java8 - 避免代码阻塞的骚操作

你会学到如何以异步的方式查询多个商店,避免被单一的请求所阻塞,并由此提升你的“最佳价格查询器”的性能和吞吐量。...---- 避免同步阻塞的困扰 假设你需要查询的所有商店只提供了同步API,换句话说,你有一个商家的列表,如下所示: List shops = Arrays.asList(new Shop("...此外,也请记录下方法的执行时间,通过这 些数据,我们可以比较优化之后的方法会带来多大的性能提升,具体的代码清单如下。...运行代码,与V·1.0的执行结果相比较,发现了新版 findPrices 的改进了吧。...【为什么 Stream 的延迟特性会引起顺序执行,以及如何避免】见下图 ? 上半部分展示了使用单一流水线处理流的过程,我们看到,执行的流程(以虚线标识)是顺序的。

50050

.net程序源代码如何避免被反编译

许多开发人员仍然不知道可移植的可执行文件(PE)文件是可以被编译成可读的源代码。在学习如何防止或使反编译器难以对源代码进行反向编译之前,我们需要了解一些基本概念。 什么是可移植的可执行文件?...当源代码被执行时,它会生成一个可移植的可执行文件。可移植的可执行文件(PE)不是DLL就是EXE。PE文件包含MSIL (Microsoft中间语言)和元数据。...MSIL最终由CLR转换为处理器能够理解的本机代码。元数据包含装配信息,如程序集名称、版本、文化和公钥。 如何从DLL或EXE获取源代码? 是的,我们可以从DLL或EXE获取源代码。...保护EXE和DLL不被反编译到原始源代码的方法称为混淆。有很多付费和免费的软件可以提供混淆代码的功能,让.Net程序集代码变得模糊,不易理解。...混淆的最好的替代工具之一是ConfuserEx——它是一个完全免费的开源软件。你可以去网上下载。 下载后,将zip解压到一个文件夹中,然后运行ConfuserEx.exe。

1.9K20

伙伴系统之避免碎片--Linux内存管理(十六)

在固定分区管理算法中, 分给程序的内存空间往往大于程序所需的空间, 这剩余部分的空间不能被其他程序所用, 这就是”内部碎片” 1.2 今日内容(buddy伙伴系统如何避免碎片) Linux伙伴系统分配内存的大小要求...目前Linux内核为解决内存碎片的方案提供了两类解决方案 依据可移动性组织页避免内存碎片 虚拟可移动内存域避免内存碎片 2 依据可移动性组织页避免内存碎片 依据可移动性组织页是方式物理内存碎片的一种可能方法...但这种划分对这里描述的方法是不必要的 2.2 迁移类型 尽管内核使用的反碎片技术卓有成效,它对伙伴分配器的代码和数据结构几乎没有影响。...参照宋宝华–Linux内核最新的连续内存分配器(CMA)——避免预留大块内存, 内核为此提供了函数is_migrate_cma来检测当前类型是否为MIGRATE_CMA, 该函数定义在include/linux...即zone->pageblock_flags字段, 当前只有与页可移动性相关的代码使用, 参见include/linux/mmzone.h?

3.1K30

写最少的代码避免给自己找麻烦

软件开发的一个最基本的事实是:我们必须要写代码,但对于这样的一个事实的最大一个误解是:我们的工作就是写代码。...事情的真相是:程序员要干的活是尽量让软件的代码最少。 不要误解,我指的不是像code golf那样压缩代码、节省字符——这样只会导致我们写出的代码无法阅读和维护。...创造软件过程中的一个副产物就是我们需要写出这些代码代码是副产物 代码并不是你想象的那么重要。...我不得不提到一点,有时候我们没有办法避免写出一大堆的代码,如果做不到精简,请保持清晰。写最少的代码就是写整洁的代码(《代码整洁之道》)。写最少的代码是为了写出整洁的代码。...当你对要写的代码精打细算时,你的代码就自然变的很清晰。 那么,我们的启示是什么?我想这最重要的启示是,代码只是副产物,我们在开发过程中不可避免的东西。

75360

谈谈代码:如何避免写出糟糕if...else语句

版本 日期 备注 1.0 2019.1.18 文章首发 1.1 2021.5.21 改进标题的标点符号 在写代码的日常中,if...else语句是极为常见的.正因其常见性,很多同学在写代码的时候并不会去思考其在目前代码中的用法是否妥当....而随着项目的日渐发展,糟糕的if...else语句将会充斥在各处,让项目的可维护性急剧下降.故在这篇文章中,笔者想和大家谈谈如何避免写出糟糕if...else语句....由于脱密等原因.文章中的示例代码将会用一些开源软件的代码或者抽象过的生产代码作为示范....result.add(student); } } return result; } 使用设计模式 除了上面的几个tips,我们还可以通过设计模式来避免写出糟糕的...ZStack源码剖析之设计模式鉴赏——策略模式 小结 在这篇文章中,笔者和大家分享几个减少if...else的小tips,由于这些tips都会有一定的限制,因此还向大家介绍了几个能够避免写出糟糕的if.

9810

代码审计开源工具

问题引出 铁汁们, 跟大家咨询一个事情,俺想找几个开源免费的代码审计工具,有没有收藏过大佬 定义 代码审计工具是一类辅助我们做白盒测试的程序,它可以分很多类,例如安全性审计以及代码规范性审计,等等。...它尝试在注释中查找可能表示代码中断的短语,并提供统计数据和饼图(针对整个代码库和单个文件),显示代码、空白、注释、“ToDo”式注释和错误代码的相对比例。...3.工具名称:Flawfinder **下载地址:**https://dwheeler.com/flawfinder/#prepackaged 工具介绍: 一个开源免费工具,专门用于查找Python代码中的常见安全问题...它使用适当的插件处理每个文件,并在python代码中生成有关可能的安全性错误的详细报告。它是带有Apache License 2.0的开源软件。...它是一个静态代码分析器,可在开发过程中的任何阶段扫描Rails应用程序代码以发现安全问题。此工具可以查看应用程序的源代码,扫描应用程序代码后,它将针对所有安全问题生成详细的报告。

2.8K20
领券