Coder Social home page Coder Social logo

Comments (5)

h2oboi89 avatar h2oboi89 commented on June 15, 2024 2

I only discovered AoC this year, so I am doing a lot of catch up. I'm rather impatient so I have started doing 2015 while I wait for the next days problem to be released.

I liked your idea with the framework but was annoyed at having to copy paste stuff between the solutions and not being able to run all days at once so I made the improvement on my end.

> dotnet run -c Release --project .\AdventOfCode\ -- --help
AdventOfCode 1.0.0
Copyright (C) 2021 AdventOfCode

  -y, --year      Year selection (default is highest year)

  --all           Enables running all days for year or all years if no year is specified

  --help          Display this help screen.

  --version       Display version information.

  value pos. 0    Specify days to run (ie: 1 2 3)

I'm using CommandLineParser for args and added -y #### as to let me focus on year.

from aochelper.

eduherminio avatar eduherminio commented on June 15, 2024 1

Fair enough, I'll leave this issue open to track the feature suggestion so that people can 👍🏼 if they agree, but not planning to implement it straight away for the reasons mentioned above.

from aochelper.

h2oboi89 avatar h2oboi89 commented on June 15, 2024 1

https://github.com/h2oboi89/AdventOfCode

Here is link to my code for your reference should you choose to implement this.

from aochelper.

eduherminio avatar eduherminio commented on June 15, 2024

Thanks for the suggestion @h2oboi89.
Out of curiosity, do you find that more useful than having N projects, one per year?

Apart for simplicity in terms of AoCHelper implementation, the main advantage I find to maintaining one project per year is being able to use different versions of .NET/Libraries: if next year .NET 7 is released with breaking changes and AoCHelper 2.x is released with breaking changes, I wouldn't like having to update all my previous years just to use a new version of .NET/AoCHelper in 2022.

An example of a AoCHelper breaking change between v0.x and v1.x was the signature of the solver methods: ValueTask<string> instead of string, which in case of keeping all the previous years in the same project, would have required changes in all the Day files in the repo to accommodate the new version.

from aochelper.

Related Issues (17)

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.