GithubHelp home page GithubHelp logo

konkked / underscore.cs Goto Github PK

View Code? Open in Web Editor NEW
22.0 22.0 1.0 1.97 MB

C# Library inspired by JavaScript Library Underscore.js

License: MIT License

C# 98.87% Python 0.96% Shell 0.10% PowerShell 0.06%

underscore.cs's People

Contributors

konkked avatar zckeyser avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

linfui

underscore.cs's Issues

Test Consistency

Currently, the unit tests in Underscore.Tests are outdated and using an uninformative and often unnecessarily verbose async format. These tests should be cleaned up and refactored to use the new standard for this projects tests, which needs to be specified as another issue.

Update Object Module Tests

The tests in Object need to be updated to match the new testing guidelines at /docs/Coding Standards.md. This should be done in tandem with #15

Update Action Module Tests

The tests in Action need to be updated to match the new testing guidelines at /docs/Coding Standards.md. This should be done in tandem with #11

Document Collection API

The Collection API needs a doc with detailed descriptions and examples, to be put in /docs/api with the other API docs.

Update Function Module Tests

The tests in Function need to be updated to match the new testing guidelines at /docs/Coding Standards.md. This should be done in tandem with #13

Debounced and Throttle not behaving correctly

If you take a look at the unit tests can see that the debounce and throttle test fail sometimes but not others, they do not fail by a large amount (usually one or two off) but still would be best to figure out what is going on and try to find a better solution

Make List Submodule Internal

There's no need to have List exposed externally, since it's exposing implementation details that aren't important to the consumer. Instead, consumers should just use Collection equivalents and if there's a relevant optimization the library will switch to it internally.

Change name of AreEquatable to something else

doesn't do what someone would expect if the object ( use methods provided by IEquatable to check for equality ) should change the name to something else...

Suggestions?

Think _.Object.SoftEquals(a,b) might be okay, not sure if "Soft Equals" is exactly clear.

Issues with Throttle, possibly with Debounced

Throttle has been acting funny, it is hard to pinpoint why because the code is expected to be run async both on a single thread and across multiple ones.

Would also like more tests to be run on Debounce as I have only been able to test it on one computer, would be helpful to test in different environments

Decide Intellisense code comment strategy

Should we be commenting for Intellisense on everything? Even if it is not meant to be publically accessible?

We can do it but just takes a lot of time.

Maybe we can come up with a script or something that puts comments in the signature of methods that implement an interface?

Redesign of Throttle and Debounce

Feel like there has to be a better way to work around having to basically repeat all my code everywhere for debounce and throttle, basically repeating code all over the place.

Document Utility API

The Utility API needs a doc with detailed descriptions and examples, to be put in /docs/api with the other API docs.

Add _.Map and _.Reduce

It may be Asinine, but .Select is not clear that it can (and often is) used as a Map function.

Additionally, Aggregate is a little clearer that it's a reducing function but is not using the same naming convention as Underscore "reduce"

Together both of these APIs will make developers who go from JavaScript Underscore -> C# Underscore a little more seamless.

Update List Module Tests

The tests in List need to be updated to match the new testing guidelines at /docs/Coding Standards.md. This should be done in tandem with #14

Document List API

The List API needs a doc with detailed descriptions and examples, to be put in /docs/api with the other API docs.

Update Collection Module Tests

The tests in Collection need to be updated to match the new testing guidelines at /docs/Coding Standards.md. This should be done in tandem with #12

Convert Tests to NUnit

The tests in the project should be converted to make transitioning to .NET Core easier.

Document Object API

The Object API needs a doc with detailed descriptions and examples, to be put in /docs/api with the other API docs.

Update Utility Module Tests

The tests in Utility need to be updated to match the new testing guidelines at /docs/Coding Standards.md. This should be done in tandem with #16

Document Action API

The Action API needs a doc with detailed descriptions and examples, to be put in /docs/api with the other API docs.

Prune List.DelegateComponent

List.DelegateComponent should have List.Delegate removed because it has no practical use cases, and there should be a Definition/Implementation added to Collection for resolve so that it can be used once list is hid as part of #17.

Document Function API

The Function API needs a doc with detailed descriptions and examples, to be put in /docs/api with the other API docs (combine with Action?).

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.