Skip to content
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

add explanation of concepts to various design.md documents #1459

Open
mikedamay opened this issue Sep 14, 2020 · 5 comments
Open

add explanation of concepts to various design.md documents #1459

mikedamay opened this issue Sep 14, 2020 · 5 comments
Assignees

Comments

@mikedamay
Copy link
Contributor

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 referenced this issue in exercism/v3 Sep 17, 2020
* not-in-exercise-report initial commit

* not-in-exercise-report addressed review points
@mikedamay
Copy link
Contributor Author

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

@mikedamay mikedamay self-assigned this Nov 17, 2020
@mikedamay
Copy link
Contributor Author

The missing concepts related to classes are discussed here

@mikedamay
Copy link
Contributor Author

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

@mikedamay
Copy link
Contributor Author

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

@mikedamay
Copy link
Contributor Author

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 mikedamay reopened this Jan 20, 2021
@mikedamay mikedamay transferred this issue from exercism/v3 Jan 28, 2021
@mikedamay mikedamay changed the title [C#] add explanation of concepts to various design.md documents [V3] add explanation of concepts to various design.md documents Jan 28, 2021
@ErikSchierboom ErikSchierboom changed the title [V3] add explanation of concepts to various design.md documents add explanation of concepts to various design.md documents Aug 19, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant