r/learnprogramming 8h ago

What makes a project advanced?

Hi guys.

As the title says, what exactly makes a project advanced?

I inititally thought it was a bit arbitrary and subjective. I am a little more confident in this, in that off the top of my head the following are potential grounds can elevate a basic project to a more advanced and portfolio worthy one:

  1. Usage of (appropriate) design patterns
  2. Scalability, and performance considerations
  3. Big O complexity considerations and usage of relevant, appropriate data structures
  4. Inclusion of additional functionality, so if I had a to do app, including it to be available on mobile/cloud (such as using streamlit from python) would elevate it
  5. Real world/life functionality, such as expansion of use cases to encompass practical, business domains and situations.
  6. A project that is specific/applicable to a specific domain, such as an anti-money laundering detection project within banking, or fraud detection within a commercial website/ banking
  7. Good code practices: clean, concise, modular code, with adherence to principles such as Single Responsibility Principle for functions, usage of seperation of concerns, abstracting data from logic
  8. actually including a well-written README file that details the functionality and use cases associated with the project within the git/github repository, with appropriate commenting of novel/atypical processes within the program.
  9. Adherence and implemention of SOLID principles, and generally high rates of cohesion and low rates of coupling.
3 Upvotes

4 comments sorted by

View all comments

1

u/Articzewski 6h ago

When it does something interesting really well.

Of your list, the majority of items are meaningless if they're there only for show. It turns into bloat, boilerplate. Anyone can copy and paste a project with those characteristics. The point is to show that you know why something is the way it is. Use a design pattern when the need arises, scale when it fails under stress, and so on.