csharp icon indicating copy to clipboard operation
csharp copied to clipboard

add explanation of concepts to various design.md documents

Open mikedamay opened this issue 4 years ago • 5 comments

There is a mismatch (see tables, below) between the concepts attributed to an exercise in csharp/reference/README.md which reflects the original concept-scraping task performed by the track's maintainers and what is shown for each exercise in csharp/config.json which is the official catalog of completed exercises.

The task, here, is to align the concepts associated in an exercise in csharp/config.json with those in csharp/reference/exercises.json (from which csharp/reference/README.md is generated).

For each concept found in config.json, not in exercises.json

  • check if the concept is fully illustrated or described in the exercise to which it is attributed
  • if the concept is fully illustrated or described then:
    • add the concept's name and a brief description to the exercise's design.md document
    • add the concept to the exercise in csharp/reference/exercises.json.
  • if the concept is not fully illustrated or described in the exercise but it is an appropriate concept for the exercise then:
    • amend the exercise's introduction.md, after.md and/or the code files and instructions to reflect the concept
    • add the concept's name and a brief description to the exercise's design.md document
    • add the concept to the exercise in csharp/reference/exercises.json.
  • if the concept is not fully illustrated or described in the exercise and it is not an appropriate concept for the exercise then:
    • add the concept to the unallocated-concepts exercise at the end of exercises.json where it can be picked up for further review

For each concept found in exercises.json, not in config.json

  • check if the concept is fully illustrated or described in the exercise to which it is attributed
  • if the concept if fully illustrated or described then:
    • add the concept to the exercise in csharp/config.json.
  • if the concept is not fully illustrated or described in the exercise but it is an appropriate concept for the exercise then:
    • amend the exercise's introduction.md, after.md and/or the code files and instructions to reflect the concept
    • add the concept to the exercise in csharp/config.json.
  • if the concept is not fully illustrated or described in the exercise and it is not an appropriate concept for the exercise then:
    • take the concept from the exercise in exercises.json and move it to the unallocated-concepts exercise in exercises.json where it can be picked up for further review

Concepts in csharp/config.json not in csharp/reference/exercises.json

Exercise Concept
flag-enums compound-assignment
integral-numbers casting
method-overloading named-arguments

Concepts in csharp/reference/exercises.json not in csharp/config.json

Exercise Concept
classes encapsulation
classes fields
classes objects
classes state
classes visibility
classes default-value
inheritance polymorphism
basics return-values
basics mutation
basics functions
basics type-inference
basics comments
basics scoping
basics variables
nullability null-coalescing
nullability null-conditional
nullability null-forgiving
nullability nullable-values
numbers math-operators
numbers assignment
dictionaries base-class-library
equality marker-interfaces
parameters named-arguments
parameters out-parameters
parameters optional-arguments
time cross-platform
interfaces explicit-interfaces
integral-numbers unsigned-integers
lists collections
namespaces imports
string-formatting interpolation
casting implicit-casting

mikedamay avatar Sep 14 '20 09:09 mikedamay

Concepts in csharp/config.json not in csharp/reference/exercises.json addressed in PR exercism/v3#2260.

mikedamay avatar Sep 18 '20 12:09 mikedamay

The missing concepts related to classes are discussed here

mikedamay avatar Nov 17 '20 14:11 mikedamay

The missing concepts related to classes are addressed with PR exercism/v3#2822.

mikedamay avatar Nov 19 '20 09:11 mikedamay

Included polymorphism as part of the inheritance concept - PR exercism/v3#2887

mikedamay avatar Dec 01 '20 14:12 mikedamay

The issues related to the basics exercise/concept have been resolved in PR exercism/v3#3059. All the missing concepts are treated as sub-concepts of the basics concept.

mikedamay avatar Jan 20 '21 17:01 mikedamay