Skip to content

Code Review - Jan 24 2026 #5

@nifty-knight

Description

@nifty-knight

Code Review Notes:

  • give each process its own file (can_log, can_dump etc)

  • Each component in the GUI could be its own class or have its own init function - improves readability at the highest level

    • you can just click into the function/class to learn more about the part you're actually interested in
    • eg. DesiredHeadingLayout could be a component that inherits from QHBoxLayout or something
  • figure out a different connection method other than ssh - requires encryption

    • socket: connection allowing both sides to read and write bytes
      • might be a problem because we need to actually execute commands
    • try and find a package other than ssh - telnet?
    • processes in C++ which connect to raspberry pi and which socket to main GUI
  • batching

    • batching candump writes to the queue
      • putting them together into the queue as one item, parsing them on the other side
    • batch can_log frames -
      • small batches - ensure all messages are logged before closing/exiting program
  • pipe in temp_reader could be a value instead

    • multiprocessing Manager() value - shared reference which handles locks for you
  • can_log - try a different method for storing data

    • sqlite3 database - like ros2bag - talk to Elec leads about this first
  • performance profiling

    • flame graphs
  • unit testing

    • everything that you would verify to ensure that it's still working is something that should be in a unit test
    • make sure you have some sort of way to mock every external system
    • what do you want to test? Write it all down - it needs to do x,y,z properly
    • pyqttest for testing visual UI components

Sub-issues

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions