现在 dotnet 属于 dotnet 基金会,所有开发者都可以向 dotnet 贡献代码和参与 .NET 的设计,参与路线决策。本文来告诉大家一些基本玩法,带着小伙伴们入坑

注意哦,参与 dotnet 开发是没有金钱的收益的哈

阅读本文你能了解:

  • 在哪里参与 dotnet 的设计和开发
  • 2020 的设计流程或提议方式是什么

在开始之前,必须说明的是 .NET 和 C# 是相对低耦合的,对于 C# 分为两个方面,一个是 C# 语言的设计,另一个是编译器的开发参与

  • 关于 C# 语言的设计,欢迎来到 https://github.com/dotnet/csharplang/ 里面的 Issues 撕语言设计问题。在这里可以聊任何关于这个语言的提议。不过需要小心,这里的喷子很多,请确定你参与的时候心情不会很差,不会气炸
  • 关于编译器的开发和设计,欢迎来到 https://github.com/dotnet/roslyn/ 里面的 Issues 讨论。在这里可以参与编译器的开发,或者对编译器的建议。需要小心,这里属于神坑,如果你没有足够的精力,看看就好

而 .NET 现在是什么?其实现在主要的是一个 runtime 库,里面包含运行时以及框架的支持。在此之前包含了 corefx 等仓库,比较松散。而对于 .NET 的设计一般来说可以分为针对细节和针对整体

针对运行时的表现以及框架的 API 设计的提议或讨论,欢迎到 https://github.com/dotnet/runtime 里面的 Issues 讨论。在这里欢迎讨论的点是

  • 整体框架的设计,如某个 API 或类应该放在哪里
  • 框架和运行时的坑,例如表现行为
  • 某个模块的 API 是否开放

以及对框架的性能优化,性能优化如果涉及到行为变化,那么需要经过比较多的讨论。比较期望的性能优化是没有行为的变更,同时仅优化很小的模块。可以参考性能优化狂魔 Stephen Toub 大佬的更改。基本上任何对性能的优化的 PR 都需要附加基准性能测试的测试,关于基准测试请看 C# 标准性能测试

对整个大的 .NET 包括生态和体系等的提议请到 https://github.com/dotnet/designsIssues 讨论。这里欢迎讨论一些比较大的改动,或者针对多个仓库的改动,或者收编某些库等

对 .NET 的其他仓库的设计和更改,基本套路都是在对应仓库的 Issues 里面先新建或参与讨论,然后再提 PR 请求合并

现在整个 .NET 都是完全开源,任何人都可以进行私有发布。如你的某项很好的提议没有被采纳,但是自己又觉得特别好,可以发布自己的 .NET 版本。简单的构建方法请看 dotnet/source-build: A repository to track efforts to produce a source tarball of the .NET Core SDK and all its components

如何参与 .NET 的开发和设计的更多相关文章

  1. 如何参与Linux内核开发(转)

    本文来源于linux内核代码的Document文件夹下的Hoto文件.Chinese translated version of Documentation/HOWTO If you have any ...

  2. 如何参与linux 内核开发

    如果想评论或更新本文的内容,请直接联系原文档的维护者.如果你使用英文 交流有困难的话,也可以向中文版维护者求助.如果本翻译更新不及时或者翻 译存在问题,请联系中文版维护者.   英文版维护者: Gre ...

  3. 如何参与linux内核开发

    如何参与linux 内核开发   如果想评论或更新本文的内容,请直接联系原文档的维护者.如果你使用英文 交流有困难的话,也可以向中文版维护者求助.如果本翻译更新不及时或者翻 译存在问题,请联系中文版维 ...

  4. 高性能PHP框架thinkphp5.0.0 Beta发布-为API开发而设计

    ThinkPHP V5.——为API开发而设计的高性能框架 ThinkPHP5..0版本是一个颠覆和重构版本,采用全新的架构思想,引入了很多的PHP新特性,优化了核心,减少了依赖,实现了真正的惰性加载 ...

  5. 项目Splash页面的开发与设计

    项目Splash页面的开发与设计 首先建立一个安卓的项目,然后修改manifest.xml文件,修改应用程序的logo和显示名称,效果图如下: 对应的代码如下: 1 <?xml version= ...

  6. 20155219实验四 Android开发基础设计实验报告

    20155219实验四 Android开发基础设计实验报告 实验内容 安装Andriod Studio并配置软件 使用Andriod Studio软件实现Hello World!+学号的小程序 实验步 ...

  7. 20155227 《Java程序设计》实验四 Android开发基础设计实验报告

    20155227 <Java程序设计>实验四 Android开发基础设计实验报告 任务一 Android Stuidio的安装测试: 参考<Java和Android开发学习指南(第二 ...

  8. 无需编码开发快速设计互动式UI - uilang

    uilang是一个非常小巧的ui类库,可以帮助不熟悉前端代码的web设计人员快速的开发互动式UI.你只需要使用“语义式”的说明来控制元素的动态效果. 开发中你只需要在<code>标签内部输 ...

  9. Android应用开发以及设计思想深度剖析

    Android应用开发以及设计思想深度剖析(1) 21cnbao.blog.51cto.com/109393/956049

  10. 20145219 《Java程序设计》实验四 Android开发基础设计实验报告

    20145219 <Java程序设计>实验四 Android开发基础设计实验报告 实验内容 安装Andriod Studio并配置软件 使用Andriod Studio软件实现Hello ...

随机推荐

  1. Python简单程序设计(计算程序设计(存款利息)篇)

    如题: 解题方式如下:

  2. c# 正则提取内容例子

    分类 代码/语法 说明 捕获 (exp) 匹配exp,并捕获文本到自动命名的组里 (?<name>exp) 匹配exp,并捕获文本到名称为name的组里,也可以写成(?'name'exp) ...

  3. java 获取文件MD5值

    private final char[] hexCode = "0123456789ABCDEF".toCharArray(); public String toHexString ...

  4. 【已解决】java.text.ParseException: Unparseable date

    今天在工作的时候遇到一个问题,我的一个字段queryDate保存不了,总是null值: java.text.ParseException: Unparseable date 报错的原因是日期格式转换错 ...

  5. 网络设备性能指标之pps

    基本概念: Bps:Byte per second 每秒传输多少字节 bps: bits per second 每秒传输多少位 ,这个也叫做端口速率 pps:Packet Per Second(包每秒 ...

  6. OpenHarmony社区运营报告(2022年11月)

    本月快讯 • 11月24日,第二十届中日韩三国IT局长OSS会议暨东北亚开源软件推进论坛以在线形式成功召开.经审核评选认定,OpenAtom OpenHarmony(以下简称"OpenHar ...

  7. 从 Oracle 到 MySQL 数据库的迁移之旅

    目录 引言 一.前期准备工作 1.搭建新的MySQL数据库 2 .建立相应的数据表 2.1 数据库兼容性分析 2.1.1 字段类型兼容性分析 2.1.2 函数兼容性分析 2.1.3 是否使用存储过程? ...

  8. 《深入理解Java虚拟机》读书笔记:HotSpot的算法实现

    HotSpot的算法实现 HotSpot的算法实现概要 1.枚举根节点 由于目前的主流Java虚拟机使用的都是准确式GC(这个概念在第1章介绍Exact VM对Classic VM的改进时讲过),所以 ...

  9. Harbor高可用集群设计及部署(基于离线安装方式)

    原文转自:Harbor高可用集群设计及部署(基于离线安装方式) 架构至美 2022-09-05 09:28 发表于北京 编者荐语: 纯干货.实用,推荐系数5颗星. 以下文章来源于Harbor进阶实战  ...

  10. javascript:eval()的用法

    eval() 是 JavaScript 中的一个全局函数,它可以计算或执行参数.如果参数是表达式,则 eval() 计算表达式:如果参数是一个或多个 JavaScript 语句,则 eval() 执行 ...