Skip to content

casperdcl/advent-of-code

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Advent of Code solutions

Tests

Solutions to problems from https://adventofcode.com (2020, 2021, 2022)

conda env create
conda activate aoc
python3 -m aoc --help
  • maintainability
    • readability: style nearly production-worthy (others can understand easily; avoid amusing code golf)
    • extensibility: not logically-over-optimised; if requirements changed (there was a "part 3") then the code doesn't need to be rewritten
  • scalability: time-complexity-optimised (sane run times even if the input was significantly larger; avoid brute-force just because the input is currently tiny)

Why

Most code I've seen falls into one of these categories:

  1. novice: e.g. logical inefficiencies, syntactical inefficiencies, unhelpful verbosity
  2. expert: e.g. code golf, sacrificing extensibility for runtime performance, lacking code comments, unnecessary complexity, overuse of either OOP or functional programming

I strongly believe "good code" must make none of the above sacrifices, and this repository aims to demonstrate this idea.

Suggestions and pull requests are welcome.

Releases

No releases published

Packages

No packages published

Languages