现在 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. 用Vue3.0 写过组件吗?如果想实现一个 Modal你会怎么设计?

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 一.组件设计 组件就是把图形.非图形的各种逻辑均抽象为一个统一的概念(组件)来实现开发的模式 现在有一个场景,点击新增与编辑都弹框出来进行 ...

  2. 优化Mysql配置调整内存

    1.查看Mysql版本 # mysql -V 示例: [root@root /]# mysql -V mysql Ver 14.14 Distrib 5.7.44, for Linux (x86_64 ...

  3. Java split 分割字符串避坑

    使用split进行字符串分割时需要注意2点 1.特殊字符作为分隔符时需要使用\\进行转义(如\\ -> \\\\; | -> \\| ) 特殊字符 .$|()[{^?*+\\ 例如对&qu ...

  4. Zookeeper学习笔记-安装

    zookeeper官网地址https://zookeeper.apache.org/ 1.卸载CentOS自带的open jdk,安装oracle jdk(1.8) 2.时间同步 #安装ntpdate ...

  5. GID:旷视提出全方位的检测模型知识蒸馏 | CVPR 2021

    论文提出的GID框架能够自动选择可辨别目标用于知识蒸馏,而且综合了feature-based.relation-based和response-based知识,全方位蒸馏,适用于不同的检测框架中.从实验 ...

  6. MarkDown常用语法Typora

    一级标题:左右分别 # 二级标题:左右分别 ## 三级标题 四级标题 五级标题 六级标题 加粗:左右分别 ** 斜体:左右分别 * 斜体加粗:左右分别 *** 删除:左右分别 ~~ "> ...

  7. #主席树,Dijkstra,哈希#CF464E The Classic Problem

    题目 边权均为2的幂次的无向图,求 \(S\) 到 \(T\) 的最短路 \(n,m\leq 10^5\) 分析 最短路直接考虑用 Dijkstra,它需要维护松弛操作和堆, 那么也就是要重载加号和小 ...

  8. 使用OHOS SDK构建vorbis

    参照OHOS IDE和SDK的安装方法配置好开发环境. 从github下载源码. 执行如下命令: git clone --depth=1 https://github.com/xiph/vorbis ...

  9. 文档贡献与写作必读-OpenHarmony开发者文档风格指南

    在您使用OpenHarmony文档或参与OpenHarmony文档/生态内容贡献时,是否遇到过如下问题: ● 应该使用第一人称还是第二人称来写作? ● Markdown文件应该如何命名? ● 代码块及 ...

  10. Sqlite数据库联合查询及表复制等详述

    外键:一般在两个表之间要建立关联时候,创建一个列创建 为外键(UserInfos-DeptId),它在另一个表必须是主键(DeptInfos-DeptId) 元素约束:主键约束:主要区别内容相同的行, ...