如何参与 .NET 的开发和设计
现在 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/designs 的 Issues 讨论。这里欢迎讨论一些比较大的改动,或者针对多个仓库的改动,或者收编某些库等
对 .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 的开发和设计的更多相关文章
- 如何参与Linux内核开发(转)
本文来源于linux内核代码的Document文件夹下的Hoto文件.Chinese translated version of Documentation/HOWTO If you have any ...
- 如何参与linux 内核开发
如果想评论或更新本文的内容,请直接联系原文档的维护者.如果你使用英文 交流有困难的话,也可以向中文版维护者求助.如果本翻译更新不及时或者翻 译存在问题,请联系中文版维护者. 英文版维护者: Gre ...
- 如何参与linux内核开发
如何参与linux 内核开发 如果想评论或更新本文的内容,请直接联系原文档的维护者.如果你使用英文 交流有困难的话,也可以向中文版维护者求助.如果本翻译更新不及时或者翻 译存在问题,请联系中文版维 ...
- 高性能PHP框架thinkphp5.0.0 Beta发布-为API开发而设计
ThinkPHP V5.——为API开发而设计的高性能框架 ThinkPHP5..0版本是一个颠覆和重构版本,采用全新的架构思想,引入了很多的PHP新特性,优化了核心,减少了依赖,实现了真正的惰性加载 ...
- 项目Splash页面的开发与设计
项目Splash页面的开发与设计 首先建立一个安卓的项目,然后修改manifest.xml文件,修改应用程序的logo和显示名称,效果图如下: 对应的代码如下: 1 <?xml version= ...
- 20155219实验四 Android开发基础设计实验报告
20155219实验四 Android开发基础设计实验报告 实验内容 安装Andriod Studio并配置软件 使用Andriod Studio软件实现Hello World!+学号的小程序 实验步 ...
- 20155227 《Java程序设计》实验四 Android开发基础设计实验报告
20155227 <Java程序设计>实验四 Android开发基础设计实验报告 任务一 Android Stuidio的安装测试: 参考<Java和Android开发学习指南(第二 ...
- 无需编码开发快速设计互动式UI - uilang
uilang是一个非常小巧的ui类库,可以帮助不熟悉前端代码的web设计人员快速的开发互动式UI.你只需要使用“语义式”的说明来控制元素的动态效果. 开发中你只需要在<code>标签内部输 ...
- Android应用开发以及设计思想深度剖析
Android应用开发以及设计思想深度剖析(1) 21cnbao.blog.51cto.com/109393/956049
- 20145219 《Java程序设计》实验四 Android开发基础设计实验报告
20145219 <Java程序设计>实验四 Android开发基础设计实验报告 实验内容 安装Andriod Studio并配置软件 使用Andriod Studio软件实现Hello ...
随机推荐
- 用Vue3.0 写过组件吗?如果想实现一个 Modal你会怎么设计?
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 一.组件设计 组件就是把图形.非图形的各种逻辑均抽象为一个统一的概念(组件)来实现开发的模式 现在有一个场景,点击新增与编辑都弹框出来进行 ...
- 优化Mysql配置调整内存
1.查看Mysql版本 # mysql -V 示例: [root@root /]# mysql -V mysql Ver 14.14 Distrib 5.7.44, for Linux (x86_64 ...
- Java split 分割字符串避坑
使用split进行字符串分割时需要注意2点 1.特殊字符作为分隔符时需要使用\\进行转义(如\\ -> \\\\; | -> \\| ) 特殊字符 .$|()[{^?*+\\ 例如对&qu ...
- Zookeeper学习笔记-安装
zookeeper官网地址https://zookeeper.apache.org/ 1.卸载CentOS自带的open jdk,安装oracle jdk(1.8) 2.时间同步 #安装ntpdate ...
- GID:旷视提出全方位的检测模型知识蒸馏 | CVPR 2021
论文提出的GID框架能够自动选择可辨别目标用于知识蒸馏,而且综合了feature-based.relation-based和response-based知识,全方位蒸馏,适用于不同的检测框架中.从实验 ...
- MarkDown常用语法Typora
一级标题:左右分别 # 二级标题:左右分别 ## 三级标题 四级标题 五级标题 六级标题 加粗:左右分别 ** 斜体:左右分别 * 斜体加粗:左右分别 *** 删除:左右分别 ~~ "> ...
- #主席树,Dijkstra,哈希#CF464E The Classic Problem
题目 边权均为2的幂次的无向图,求 \(S\) 到 \(T\) 的最短路 \(n,m\leq 10^5\) 分析 最短路直接考虑用 Dijkstra,它需要维护松弛操作和堆, 那么也就是要重载加号和小 ...
- 使用OHOS SDK构建vorbis
参照OHOS IDE和SDK的安装方法配置好开发环境. 从github下载源码. 执行如下命令: git clone --depth=1 https://github.com/xiph/vorbis ...
- 文档贡献与写作必读-OpenHarmony开发者文档风格指南
在您使用OpenHarmony文档或参与OpenHarmony文档/生态内容贡献时,是否遇到过如下问题: ● 应该使用第一人称还是第二人称来写作? ● Markdown文件应该如何命名? ● 代码块及 ...
- Sqlite数据库联合查询及表复制等详述
外键:一般在两个表之间要建立关联时候,创建一个列创建 为外键(UserInfos-DeptId),它在另一个表必须是主键(DeptInfos-DeptId) 元素约束:主键约束:主要区别内容相同的行, ...