Skip to content
This repository has been archived by the owner on Jul 29, 2022. It is now read-only.

dartsidedev/pop_dart

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DISCONTINUED

See pop for the Dart package that is being actively maintained. Much of the original vision of this package will be implemented there.

pop_dart

A delicious Dart library.

I'm going to write a proper description later, I promise.

Continuous Integration codecov pop_dart Published by dartside.dev GitHub Stars Count

Important links

Warning

With this package, I'm learning both how to write reusable, idiomatic Dart code and how to implement common algorithms and data structures. The package is not ready for production use yet and the API might change from one release to another.

Philosophy

This package is a collection of common data structures and algorithms that are not part of the Dart SDK, the Dart dart:collection library, and the package:collection package by the Dart team.

Sorting

Pros and cons

Different usages: xyzSort, extension on List: sortWith(xyzSorter), and xyzSort.

Why

Benchmark

Benchmark disclaimer: always do your own before switching from the default sorting alg.

TODO: priority queues are in collections TODO: in some cases, I reimplemented stuff. why: probably because I think it's better?

TODO

Here are some issues that I still don't fully understand and I want to research later.

  • Would be great to understand the library keyword
  • library+part+part+of (Quiver) vs export (Flutter)
  • Why we needed a class for sorting? Could have we just use simple functions?
  • Benchmarks: For example, benchmark the three solutions for insertion sorts in Programming Pearls.
    • Depending on the speed and code readability, keep one (as it is a library, prefer speed)
  • generic arg on class or on method?
  • it would be good to have a stricter lint rule set up for this project, it's easy to be messy.

Languages