ryan-singleton / sharpener Goto Github PK
View Code? Open in Web Editor NEWA quality of life library for C#.
License: MIT License
A quality of life library for C#.
License: MIT License
Even though I'm writing this in VSCode, need to run code cleanup in either VS 2022 or Rider (If I can get a license). Get the code standardized.
It'd be good to have comparisons of the AsList, AsArray and string based NoCase, Current, etc. in performance as compared to how the stock method of writing these operations would perform.
Small perf hits are expected, but it'd be good to have eyes on it.
The current project setup is decent, but it can be better before release (when structure will be less malleable).
Sure, you can do this
var results = workOrders.Join(plans,
wo => wo.WorkOrderNumber,
p => p.WorkOrderNumber,
(order,plan) => new {order.WorkOrderNumber, order.WorkDescription, plan.ScheduledDate}
);
But I know that I personally just end up using
var query = from order in workOrders
join plan in plans
on order.WorkOrderNumber equals plan.WorkOrderNumber
select new
{
order.WorkOrderNumber,
order.Description,
plan.ScheduledDate
};
And I'm curious if a linq syntax could be made that feels more like query syntax. For example:
var results = workOrders.Join(plans)
.On(((order, plan) => order.WorkOrderNumber == plan.WorkOrderNumber)
// DefaultIfEmpty() type choices here
.Select((order, plan) => new {order.WorkOrderNumber, order.WorkDescription, plan.ScheduledDate});
title says it all
I'm not going to require a code coverage percentage, but it's fairly certain that a more parameterized and well designed test matrix can be written for the string comparison ops.
Make sure we're using "internal" where needed and "sealed" for performance gains and security.
Add InternalsVisibleTo to the main project too.
The Sharpener.Rest.Tests project was unable to finish a build while using the Sharpener.Tests.Common project. It couldn't resolve the namespace.
Could not duplicate the issue locally. But at the moment, this project is not following suit. Tech debt waiting to happen. Either figure out what the build issue was, or opt to allow individual test projects to resolve packages with CPM.
We just need a "main" branch as default
Adjust workflow accordingly to ignore "develop"
test impact on perf with benchmarks
Json writer/reader registrations require new classes implementing interfaces, which is a safe and common practice in c#. But we should explore the possibility of setting default behaviors via lambda functions instead so that users of the library might be able to avoid the need to make a new class in their projects vs a quick one-line register of a lambda.
Testing out GitHub's bugfix flow. Used to Jira/Bitbucket (hate).
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.