Skip to content

Code Review #1 #13

@Danc2050

Description

@Danc2050

Summary

Overall, it looks like a decent start. Some pieces are starting to form as it looks like you all have divided up some of the features to work on. Connecting them and organizing your code structure so you can properly test them will be helpful steps. I apologize in advance that this is so long, but I also apologize if I missed anything (I moved from my local machine editing files, to using GitHub issues).

Specific File Code Reviews:

README

  • The README should be updated. I don't encourage updating the README with every single detail, since a lot of things can change and you are wasting time + work, but I think you guys know enough at the present moment to add how to run the basic program (e.g., python3 __main__.py -S [script_name]) and also to talk about what the project is about. You may also decide to include the help menu for your __main__.py as well. If one person updates the README, all 6 other people on the team (plus us sponsors) will know how to run the program.
  • It would be nice to have myself listed (Teal will let you know if he wants to be listed in the README or not). Ex:
# Sponsors
[Daniel Connelly](https://www.linkedin.com/in/dconnelly2/)
  • Should be very detailed at the end of this project.

debugLogFile

  • This file's class/functions are never created/called anywhere.
  • There are no comments describing anything.
  • It may be a feature you are adding later, but I think there is some confusion on how the config files will work as I don't actually see a config file in any part of this project. There should be a config file for various things (e.g., whitelist or blacklist, cloud program options, etc.) and it should be in your project repo (perhaps like config_files/ and cloud/config_file?) by default. In other words, there shouldn't be a function that writes the config file each time, as it should exist in perpetuity. I don't know how well your current config library works, but you may check out configparser to update .ini files if it is easier for you. I will try and verify all the config files that need to exist when you guys develop your requirements doc further.

UserScript

executeUserScriptTests

filterLists

read_config

read_config_test

General Issues/Comments/Suggestions

Feel free to take the feedback with a grain of salt and ask questions.

  • Although you have not developed any code for this yet, you should also have a directory for the Cloud piece of your software (e.g., Cloud).
  • To reiterate, you all should read the Python style guide (PEP8) since you are writing Python code. Especially read the documentation strings (AKA doc strings) section and go through all the files and fix these errors (this was the most repetitive style error).
  • Doc strings are not given to every function, especially in the test files and where there are init functions. You should also have a doc string at the top of every file to indicate its main purpose.
  • check_output is a fine function, but you may actually find that Popen will be more useful for your cases. You can get stderr, a return code, etc. more easily this way. See a good intro to this function here. You can actually check the STDERR specifically for potential bugs and avoid (or use less) the checking of standard output.
  • I am thinking that maybe a whitelist or a blacklist should actually come from the cloud instance or some online endpoint, since developers may want to change this anytime, but may not want to release a new version just to update a white and/or black list. Something to consider moving forward.
  • I believe Antonio said that the name of the project will be AutoBugTracker. The repository should be renamed to the same name.

Let me know if I can be of any help in clarifying any of the above or answering any more questions.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions