Giter Club home page Giter Club logo

Comments (8)

rafaelalvessa avatar rafaelalvessa commented on August 12, 2024 1

I'm happy to take this one. I suggest the script(s) be written in Dart so that users can run it on any platform.

from dart.

Stargator avatar Stargator commented on August 12, 2024 1

@raphalvessa Thanks for double checking. I missed this.

from dart.

devkabiir avatar devkabiir commented on August 12, 2024

Some ideas for the script :

  • By default it'll run all 5 task for all exercises.
  • There should be an option to perform those tasks for a specific exercise.
  • It should have option to perform specific tasks for specific exercise. (maybe not, need opinions)
  • It's name should be sensible (e.g. validate-exercise) along with its args (--all, --nameOfExercise, etc)
  • Possibly hook the script to git-hooks (pre-push) a non-zero exit code will abort the push.
  • Should return zero exit code after successful completion, this will also be helpful in travis-ci
  • more ideas here...

from dart.

devkabiir avatar devkabiir commented on August 12, 2024

Few more ideas

  • If canonical-data has tests, there should exists a exercise_name_test.dart file in test directory.
  • Number of tests implemented >= Number of tests in canonical-data (It's fine if there are more).
  • Each test implemented has flag skip:true except the first one.
  • The actual example.dart should not be imported in the exercise_name_test.dart (common mistake).
  • The exercise_name.dart should be imported in exercise_name_test.dart.
  • If there exists a description.md in the problem-specification, there should be a readme.md (In case the contributor didn't use our create-exercise tool. )

from dart.

Stargator avatar Stargator commented on August 12, 2024

There should be an option to perform those tasks for a specific exercise.

That's possible for the scripts that check dart formatting, but the configlet commands check the entire repo's configuration and contents.

It should have option to perform specific tasks for specific exercise. (maybe not, need opinions)

Currently, it would be checking the format and then formatting the exercise. Just two tasks.

Possibly hook the script to git-hooks (pre-push) a non-zero exit code will abort the push

If whoever implements it can do that and have it affect anyone that clones the repo, sure.

Number of tests implemented >= Number of tests in canonical-data (It's fine if there are more).

It would require that for every person that clones our repo and make a change, they would need to clone exercism/problem-specifications in order to run this script. I do not recommend that path.

If canonical-data has tests, there should exists a exercise_name_test.dart file in test directory.

We don't need canonical-data to have tests to know there needs to be a dart test file.

In my opinion, this suggestion and the one about validating number of tests. That can be handled during the PR.

from dart.

devkabiir avatar devkabiir commented on August 12, 2024

@raphalvessa If you can work on this, checkout the points I've written for a start. And create a PR once you're done we'll continue our discussion there for any modifications or more ideas.

from dart.

rafaelalvessa avatar rafaelalvessa commented on August 12, 2024

@kabiir Will do. I'll get started once I have some free time. 🙂

from dart.

rafaelalvessa avatar rafaelalvessa commented on August 12, 2024

I believe this issue has been addressed with PR #70, and can now be closed.

from dart.

Related Issues (20)

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.