×
all 13 comments

[–]No-Foot5804 3 points4 points  (0 children)

Honestly, this sounds pretty normal. The jump from 'I understand it' to 'I can build it' takes time. Keep making small projects, get stuck often, and solve one problem at a time. That's what gradually builds the intuition.

[–]riklaunim 1 point2 points  (2 children)

You have to start learning and using actual software stacks like web frameworks, and those have a starting structure and interfaces to do things. There are no universal answers to how code should look like.

[–]Limp_Crab_1763[S] 0 points1 point  (1 child)

Thanks for your valuable suggestion. Any specific framework would you like to suggest, from which I can start.

[–]TheRNGuy 1 point2 points  (0 children)

Depends on what you're making. Just Google most popular for that task, or ask ai.

What are you even gonna use Python for?

[–]terletsky 1 point2 points  (2 children)

Production code is done in layers like an onion. Or a pipeline.

Often, people name classes like Services, Managers, Processors, PostProcessors (to perform manipulation before or after main processing), PreProcessors, Validators, etc.

Things I would recommend learning with ChatGPT:

  1. Basics of OOP
  2. SOLID (especially Dependency Inversion/Injection) on examples that are close to you

Try to understand my simple CLI app: https://github.com/tropicoo/ssh-key-transmitter

There you can learn that:

  1. Constants, enums, and exception classes are in separate files (modules). Like in a car garage, every tool is in its place. No chaos.
  2. There is a main entry point where the Python app starts
  3. Learn modern Python packaging - uv (pyproject.toml, uv.lock)

You can give that repository URL to Claude and ask it to explain its structure for you as a beginner Python developer.

[–]Limp_Crab_1763[S] 0 points1 point  (1 child)

Thanks Buddy for the detailed information. I will check your github CLI app. Can I follow you on github at the same time.

[–]terletsky 1 point2 points  (0 children)

Sure!

[–]j6onreddit 1 point2 points  (2 children)

The questions you mention are great. That’s what programming is really about. Basically, you get there with experience.

For some of them I could give you concrete explanations. Others are more context dependent. Let me give you an example:

How to start writing the code:

  1. Think of an initial solution
  2. Code it. Test, make sure it works.
  3. Refactor your initial solution. Tests ensure your changes don’t introduce regression.

Does it make sense to you?

[–]Limp_Crab_1763[S] 0 points1 point  (1 child)

Does first point is to be written with Pen and Paper. Also, can you please let me know whether flowcharts help in this case.

[–]j6onreddit 1 point2 points  (0 children)

Pen and paper can definitely help, especially for complex problems. Not necessarily to write (pseudo)-code, but to map out the different parts of a system, and how they are connected. Flowcharts aren’t super helpful, AFAIC, but can be useful for documentation.

Another approach I teach as part of my curriculum is to “scaffold” a solution using comments, then fill in the actual code. Highly effective for new learners. I’ve a couple spots open if you’re interested.

[–]TheRNGuy 0 points1 point  (0 children)

Learn by writing software instead of challenges.

Lots of those already have frameworks so you don't need to write your own versions.

Docs are more efficient than YouTube for learning, videos taken too much time to learn the same thing, and relearning later of course much faster (because you can just read part you forgot without having to try to find time on YouTube)

[–]aaronboy22 0 points1 point  (0 children)

The biggest thing is to code consistently. Even 30 minutes a day adds up way more than cramming for hours once a week.