New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Epic] Proposed Everyday C# TOC #34829
Comments
Areas outside of scope The everyday C# section excludes many C# elements and techniques in order to focus on the most common techniques. This list explains why many areas of the language aren't covered in this section. (They are covered elsewhere in the C# guide.) The everyday C# section will link to the details on these sections for readers that want more depth on those techniques.
|
Where do we find this curriculum at? Is this something you are working on or is it available now? |
It's not available yet. This is the proposed table of contents for a major update to the C# Guide that I'll be making over the next several months. I published this issue to get feedback on the proposed topics.
|
What about a focus on testable coding? Functional-core-imperative-shell is a great structure. Another structure is the use of interfaces to enable lightweight tests which intercept things like I/O. |
I got a question offline .
They won't be explicitly covered here because they aren't langauge features. However, the samples will use them because they are common practices in current application development. Where needed, the articles using them will link to articles that explain those library concepts. |
Also, what about the |
Yes to both. |
Good idea. I added a draft issue in this project to track this. |
jpo ? |
The following is an outline of the Everyday C# curriculum. It is not a complete syllabus. It has enough of an abstract for each section to begin writing that section.
The modules include:
string type
, and string interpolation.int
, anddouble
.List<T>
, andDictionary<K, V>
. Arrays will be limited to single-dimensional arrays. This module will include using index and range types to access elements and slices of collections. This will include loops to enumerate sequences (foreach
,while
,for
anddo
-while
).if
,else
,switch
)async
methods,await
ing method calls. This is an introduction to these features: Addingasync
on a method declaration, ensuring the return type isTask
,Task<T>
, and usingawait
whenever calling anasync
method. In addition, introduce async enumerables to enumerate asynchronous data sources.-auto-implemented properties, with initializers
?.
,??=
andis not null
for null safety.with
expressions, discards, and deconstructionList<T>
andDictionary<K, V>
. In this unit, add more of scenarios where developers will use and create generic methods and types.After finishing the content in this section, a developer should be reasonably prepared for an entry level coding position.
The text was updated successfully, but these errors were encountered: