Coder Social home page Coder Social logo

codedocs's People

Contributors

rskopecek avatar

Watchers

 avatar  avatar

codedocs's Issues

What "scoping" changes should be made, if any?

Scoping is a bit of a broad topic. However, currently the scoping is relatively straight forward. Usage is grouped under the codedocs namespace and detection is under codedocs.detection. Attributes are scoped to the individual item/member but does not inherit.

Just a general area to discuss potential scoping changes.

What "detection functionality" should be included?

Currently the detection functionality is setup to decorate items like app domains, assemblies, types, and instances. It's setup to provide back the results in a hierarchical structure but still allow a quick call to get all the levels and a quick way to flatten the results.

There might not be much more to comment on for this subject, or there may be different quick use cases. The scanner class currently contains all detection logic, but some aggregation logic is found in the doc class definition.

https://github.com/rskopecek/CodeDocs/tree/master/src/CodeDocs/Detection

What "naming" changes should be made?

Naming is only as good as it's utility and understanding Potentially some methods, enums, or classes would make more sense changed to something else or even slightly modified. For example, did it make more sense as patterns & practices or patterns & principles. Some were principles but the common term is practices.

This is simply an open area to allow discussion. If you have suggestions for changes, feel free to comment with why you think it should be changed.

What ".net frameworks/versions" should be targeted?

Currently the project is targeted at netstandard2.0. However, the mountain of tech debt that affects developers and their system users may range back to early versions of .Net. Version 3.5 seems like an obvious one to include.

What .net versions should be added on as a target so you can utilize in all your .net codebases.

What "runtime reporting" capabilities are needed?

This kind of intermixes a bit with detection and CI capabilities. However, perhaps you want to get a object model out in simplistic form during runtime to report out on some dashboard or to transmit to a webhook or return via your webapi for full system aggregation of state. Whatever the reason, this is the place to comment on those needs.

What "attributes" should be included?

There is a primary list of attributes which are used for semi-generic code review application. They aren't the primary form of expression, but they are the top level conversation starter.

On this issue, the conversation should revolve around what attributes should be available, their name, and their description. The attributes that already exist in the below link are merely a starting point for discussion in this thread.

https://github.com/rskopecek/CodeDocs/tree/master/src/CodeDocs/Generated

What "patterns & principles" should be included?

One of the forms of situational expression is the tagging of various patterns and principles. Sometimes they can be use to simplify the message to convey or help point the developer who will address it to something they should learn about or rethink first.

For example: [SideEffects(solid: Solid.SingleResponsibility)]

The options are grouped and isolated to support bitwise stacking of multiple enum values. Names are preferred in long form to ensure readability. For example, SRP may be well known to the reviewer but not so much for the developer having to do something about it.

The items currently included can be found in the link below which are only a conversational starter.

https://github.com/rskopecek/CodeDocs/tree/master/src/CodeDocs/PatternsAndPrinciples

What attribute "arguments" should be included?

The attribute arguments are the final piece of expression. The args are designed to be expressed as needed with named parameters or via the comment by default.

The parameters are not intended to be highly specific but allow a reasonable common ground of expression.

There are some language level constraints that guide the expression one way or another (ex. only constants and no generics). For example, the date field is expresses as an iso integer and nullable integers are expressed via the minimum value.

https://github.com/rskopecek/CodeDocs/blob/master/src/CodeDocs/Generated/Bug.generated.cs
https://github.com/rskopecek/CodeDocs/blob/master/src/CodeDocs/CodeDocsAttribute.cs

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.