I’m just generalizing, like if you want to copy some cleaver feature or modify some Python program you came across, what are the red or green flags indicating how well your (or particularly some hobbyist’s/your early learning self’s) results are likely to turn out?

Also how can you tell when reading into such a project is going to be a major project that is beyond the scope of you ultimate goals. For instance, I wanted to modify Merlin 3d printer firmware for hardware that was not already present in the project, but as an Arduino copy pasta hobbyist, despite my best efforts, that was simply too much for me to tackle at the time because of the complexity of the code base and my limited skills.

How do you learn to spot these situations before diving down the rabbit hole? Or, to put it another way, what advice would you give yourself at this stage of the learning curve?

  • HamsterRage
    link
    fedilink
    arrow-up
    2
    ·
    edit-2
    9 months ago

    For me, it’s mostly Java and Kotlin. I look for the same kind of things. Things that I like to see:

    • Short methods.
    • Small classes
    • Sensible packages
    • Variables declared to Interfaces not implementations
    • Single Responsibility Principle applied.
    • DRY applied.
    • Good names for variables and methods
    • Few instance variables
    • Few static members
    • No comments, because you don’t need them
    • Uses lambdas, Streams and Optional
    • No empty Catch{} blocks
    • No f*&^*cking! arrays.

    I can generally tell in a few minutes if something is going to be a pain to work with.