What do you do when you don't know how to progress in coding?

by Kex
  • Kex 03-03-2019, 01:32 PM
    Long ass title, says everything.
    I've experienced this many times, where I just don't know how to advance, I can't figure out a way to make that program work. I usually ask Google-chan for help, but if that doesn't help, I'm pretty much done, I stop coding, then maybe come back to it later that day, or another day. What do you do if this happens?
  • malmon 03-03-2019, 04:32 PM
    If ddg/google/stackoverflow don't have the answer, I usually go to my housemate, or @'Senko-San'. If it's something specific to Void Linux, I ask in their IRC.
  • Steph 03-03-2019, 08:27 PM
    Glad to know you need help so little then @malmon :P
  • malmon 03-03-2019, 09:38 PM
    (03-03-2019, 08:27 PM)Senko-san Wrote: Glad to know you need help so little then @malmon :P


    Most of my programming recently has been SystemVerilog ^_^'
  • _____ 03-09-2019, 11:58 PM
    (03-03-2019, 01:32 PM)Kex Wrote: Long ass title, says everything.
    I've experienced this many times, where I just don't know how to advance, I can't figure out a way to make that program work. I usually ask Google-chan for help, but if that doesn't help, I'm pretty much done, I stop coding, then maybe come back to it later that day, or another day. What do you do if this happens?


    hmm

    it can be helpful to give it a day to sit sometimes maybe...

    what works for me is planning everything on paper beforehand, using drawings and things. and then, if it's something in C, tossing out all the header files first before actually implementing anything

    it feels like, if you rush in before you know where you're going, it's too easy to get lost this way
  • tftp 03-10-2019, 12:10 AM
    you can message me if you have any problems i might be able to help
  • tng3 04-06-2019, 10:01 AM
    I usually brute force my way out of any topic. Whenever something is hard enough to make me want to stop, I keep at it for a few weeks. After that I usually have gained sufficient background to finish whatever I was doing in the first place.

    I hope I made it clear what my point was.

    What we often lack is big picture.

    Also, theory is important. Since I learned about data structures and how to implement them, everything became easier, for instance.

    Good luck anyway.
  • Yuu 04-07-2019, 03:53 PM
    I usually ask some of my friends for insights and ideas. Always nice to get a second pair of eyes on it.
  • sairenji17 11-24-2019, 03:20 AM
    If you're having trouble fixing a bug,

    1. Check to see if the bug is already fixed or somebody else has made progress on the bug.
    2. If the problem isn't solved, manually create an environment that reproduces the bug with minimal human interaction or at least a set of easily reproducible steps. Then, use a debugger to narrow down where the bug occurs.
    3. If the problem isn't solved, identify something in the program that always occurs when the bug occurs, log intermediate states, and look for patterns existing in the buggy logs that don't exist in the non-buggy logs. Then, use a debugger to narrow down what causes that pattern to occur. Repeat until you find the bug.
    4. If the problem isn't solved, choose to either mark as WontFix or do something that is going to suck (e.g., procuring hardware you don't currently own or asking for access that you probably won't receive).

    If you're having trouble building a program,

    1. Ask Google and StackOveflow.
    2. If the problem isn't solved, read the build source code and debug it if necessary.
    3. If the problem isn't solved, reach out to the author and tell them what you tried in 1 and 2.
    4. If the problem isn't solved, just give up. You have better things to do with your life than work with software written by somebody who doesn't want to support it.

    If you're having trouble designing a program,

    1. Look for similar programs and copy their architecture. Don't tell anyone you did this since it is probably illegal.
    2. If the problem isn't solved, you're probably working in a highly specialized or secretive field and need to read some books. Go find books on your topic, read the relevant sections, and apply the theory.
    3. If the problem isn't solved, you're probably working at the cutting edge of a highly specialized or secretive field and need to read some journal articles. Drum up some keywords for your program, search Google Scholar, and procure the articles from your favorite source. Write a small demo program to see if the article is even correct. Then, apply the theory to your program.
    4. If the problem isn't solved, you're really on the cutting edge. It might be years before you come up with a solution. Either give up, or go learn how to do CS research.

    In all of these cases, you can probably avoid talking to anyone if it's your own code. If you're a team member working on a large project, especially one you couldn't give two shits about, you can also do one of the following.

    1. Give up immediately. Tell your manager, coworker, or any other stakeholder that this bug isn't worth fixing. This works surprisingly well very often.
    2. If the problem isn't solved, try to delegate it to a team member by saying that he is a "subject matter expert" and would be better at solving this problem.
    3. If the problem isn't solved, find a "band-aid" fix that solves the problem with a hack (e.g. making a button "disabled", preventing problematic accounts from accessing buggy code, etc.).

    However, the most important method for solving a problem is designing a method in the first place. Once you start looking back at the mistakes or successes of your most recent bug, build, or design problem, you can begin to create your own checklist like I did above. This process of process refinement is like saving for retirement; if you start sooner, you will reap greater rewards.

Create an Account or Log In to Post a Reply

You need to be a member to make a reply.

Create an Account

Sign up for a new account in our community. It's easy!

Join Us

Log In

Already have an account? Log in here!

Log In

What do you do when you don't know how to progress in coding?