Giter Site home page Giter Site logo

community-bin's People

Contributors

bobdotcom avatar falsedev avatar makiyu-py avatar mossyegghead01 avatar sengolda avatar setitonzygote avatar tasfiqultapu avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

community-bin's Issues

A couple suggestions

Suggestions

General

Licensing

"Your code must be under MIT or similar license"

Make the code fall under a license for this whole repo. Nobody should be allowed to post code under any license to them, and if they fail to follow this then they do so knowing that they are surrendering all rights and reservations of the code posted to The Coding Academy. The license for this repo should be MIT

Authors

"The files you're adding must be written by you and must attribute to any co-authors (No plagarism)"

It's "plagiarism", other than that it sounds good.

Start of file

"The first few lines of the file must state the following"

  • Author Info - Good
  • License Info - Not needed if Licensing is done
  • Version Info - I really don't think this is needed, just makes it too complicated. After all, the majority of people in our server aren't that advanced
  • Brief Description - Good
  • Dependencies - Good

Other

"Although not required, these could be added as well"

Sounds good.

Python specific

General

Sounds good

Code Quality

"Code must be formatted with black"

I don't use black, I think the code should be checked by flake8 in a GitHub action (any warnings would cause a failed check),
so we do a general PEP8 test instead of specific to a library that most people (that I've seen) don't use. The settings for flake8 could be changed such as ignoring certain protocols or changing the maximum line length.

A good compromise in this might be saying something like "Code must follow PEP8. Black is a good module to help format your code if you don't want or know how to do it yourself.

"Imports must be sorted with isort"

I suggest changing this similar to the suggestion about black, showing the guidelines to follow but giving a tool on how to do so. "Imports must follow PEP8. isort is a good tool to help you do this, similar to black"

Discord.py Checklist

"Specify any priviledged intents that are required"

"priviledged" -> " privileged"

"Please use @commands.command (rather than @bot.command) for commands that aren't in a cog so that it can be used by anyone with least hassle using bot.add_command"

"least" -> "less"

"Ensure each command has appropriate permission checks for the user and bot"

Sounds good.

"Ensure all edge cases are handled and that you've actually tested the commands"

Might be reworded later as not everyone knows what edge cases are but for now, it sounds good.

After thoughts

I just read back over this, and it does look kind of a lot. I'd be happy to make any changes myself if you want, but the main concerns for me are:

  1. The license part. Licenses are a mess and it's best to have a license on this repo, that way the only person to be at fault, in any case, would be the person uploading their content to the repo. From there on the content belongs to us and we don't have to worry about what we can and can't do with the code on here and for anyone coming to get code, it would be a better user experience for them too.
  2. The auto-formatters. While some people like them, I personally think it's too much. I like flake8 because it informs you of problems but especially for beginner programmers, it's kind of like spoonfeeding in a sense. In my opinion, it promotes bad practices and code writing skills because you don't learn how to write good code or practice writing good code. It's much better to leave it as a tool, to help you follow the actual recommendation (of pep8 in this case).

I can help you with setting up a flake8 linter in a GitHub action if you want me to, or I can make a pull request with other changes as well.

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.