durationcheck
Go linter to detect erroneous multiplication of duration values (by charithe)
NamedType
Implementation of strong types in C++ (by joboccara)
durationcheck | NamedType | |
---|---|---|
2 | 6 | |
45 | 742 | |
- | - | |
0.7 | 0.0 | |
about 1 year ago | over 1 year ago | |
Go | C++ | |
Apache License 2.0 | MIT License |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
durationcheck
Posts with mentions or reviews of durationcheck.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-03-21.
-
Please put units in names
And there's also a fancy pancy linter that checks for this bug for you that's conveniently already integrated with golangci-lint for you, you just need to turn it on.
-
Please Put Units in Names
Now I insist on using the durationcheck lint to guard against this (https://github.com/charithe/durationcheck). It found a flaw in some exponential-backoff code I had refactored but couldn’t easily fully test that looked right but was wrong, and now I don’t think Go’s approach is reasonable anymore.
NamedType
Posts with mentions or reviews of NamedType.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-03-21.
- Named Types in C++
-
Named Booleans prevent C++ bugs and save you time
This article seems to be targeted towards beginners. From the title, I was expecting it to cover something like https://github.com/joboccara/NamedType, which is a technique I would recommend.
-
Please put units in names
I haven't used this library in particular or this one, but bless the authors and all the others for trying to make it happen… the project I'm now leading uses strongly typed strings for different component addresses, and it saves me to constantly look up the documentation what the functions need – it's beautiful.
-
Why do you like C++ ?
I think you are thinking of something like https://github.com/joboccara/namedtype
-
ISR Context Guards in C and C++ — Creating better interfaces for Embedded Systems by selecting the correct functions at compile time
The basic jist is that if you use strong types, you can dispatch more easily inside the function. Because of how the template function is generically written, I don't need to do any manual calls to the template parameters, it all gets figured out through automatic template deduction. In this example I'm using really simple types, but in a more production system I would use something more along the lines of Jonathan Boccara's NamedType. Here is a great article that explains it pretty well [link].
- Alternative to long boolean parameter lists
What are some alternatives?
When comparing durationcheck and NamedType you can also consider the following projects:
SI - A header only C++ library that provides type safety and user defined literals for physical units
newtype-ts - Implementation of newtypes in TypeScript
kal - A powerful, easy-to-use, and easy-to-read programming language for the future.
Squants - The Scala API for Quantities, Units of Measure and Dimensional Analysis
go - The Go programming language
dimensioned - Compile-time dimensional analysis for various unit systems using Rust's type system.
zen
Unchained - A fully type safe, compile time only units library.
phpmnd - PHP Magic Number Detector
NodaTime - A better date and time API for .NET
F# - Please file issues or pull requests here: https://github.com/dotnet/fsharp