现在 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. 记录--分享8个非常实用的Vue自定义指令

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 在 Vue,除了核心功能默认内置的指令 ( v-model 和 v-show ),Vue 也允许注册自定义指令.它的作用价值在于当开发人员 ...

  2. C# 通用OCR识别 文字识别 中文识别

    软件说明 基于以下两个开源项目,做了再次封装 https://github.com/paddlepaddle/PaddleOCR PaddleOCRSharp: 本项目是一个基于PaddleOCR的C ...

  3. 超越极限!80Gbps高速传输,让您的数据瞬间飞速传递

    大文件传输是很多企业面临的挑战之一.基于传统的文件传输方法,由于许多原因,例如网络拥塞.数据包丢失.传播延迟等,导致文件的传输速度较慢.不稳定或不安全.尤其是对于像科研机构.金融公司和媒体制作公司等需 ...

  4. 分享本人依照NOI大纲整理的CSPJ复习资料

    2023 CSP-J 复习文件 考纲 复习好 : 基础知识与编程环境 难度 计算机的基本构成 计算机的组成及功能 - 知乎 (zhihu.com) 操作系统的基本概念与常见操作 操作系统基础知识大汇总 ...

  5. 安卓开发数据可视化---导入数据到excel表格

    现在是2021-03-12 00::39 刚刚完成了一个小软件部分功能,现在把出现的问题总结如下: 一.首先要下载jar包 网址:https://mvnrepository.com/artifact/ ...

  6. lodash已死?radash最全使用介绍(附源码详细说明)—— Array方法篇(1)

    相信很多前端同学甚至非前端都或多或少使用过lodash库,我们都知道lodash是一个非常丰富的前端工具库,比如最常用的防抖和节流,使用lodash都能很快实现,在github上更是有着58.7k的s ...

  7. #K-D Tree#洛谷 2093 [国家集训队]JZPFAR

    题目 平面上有 \(n\) 个点.现在有 \(m\) 次询问,每次给定一个点 \((px, py)\) 和一个整数 \(k\), 输出 \(n\) 个点中离 \((px, py)\) 的距离第 \(k ...

  8. #SG函数#HDU 1848 Fibonacci again and again

    题目 分析 可取状态只能是斐波那契数,求出SG函数 然后判断三个数sg函数异或和不为0先手必胜 代码 #include <cstdio> #include <cctype> # ...

  9. #特殊判断#牛客练习赛71 A 回文数

    题目 分析 首先出现奇数次的数超过1显然无解 并且只有多个0或者只有一个非0数字并且其它都是0也无解 然后由于没有前导0所以先要找到最小的非0数,先占据首尾 最后按照常规方法前一半从左到右依次递增 注 ...

  10. OpenHarmony 社区运营报告(2023 年 10 月)

      ● 截至2023年10月,OpenHarmony社区共有51家共建单位,累计超过6200名贡献者产生24.2万多个PR,2.3万多个Star,6.1万多个Fork,59个SIG. ● OpenHa ...