Skip to main content
Share Your Experience: Take the 2024 Developer Survey
61 votes

Is it normal/acceptable to write down notes, thoughts, algorithms, decisions during coding and maintenance?

Not only is it normal, it's a good idea. There's a famous quote "Give me six hours to chop down a tree and I will spend the first four sharpening the axe". Taking the time to organize your ...
Dan Pichelman's user avatar
55 votes

What is the most efficient way to continue developing a piece of software in the long-term?

Let me speed you up by slowing you down. Ever heard who the best person is to hire as a tutor? It’s not the teacher. It’s some student who just took the class. Who remembers the struggle. Therefor I ...
candied_orange's user avatar
30 votes

What is the most efficient way to continue developing a piece of software in the long-term?

Work as if you are on a team Think of your future self as another team member, with your same skillset but no knowledge of your code. Follow all the processes you would normally follow for another ...
John Wu's user avatar
  • 26.5k
26 votes

Is it normal/acceptable to write down notes, thoughts, algorithms, decisions during coding and maintenance?

Yes, this is perfectly acceptable and normal. Documenting your decision-making process is often valuable when revisiting code, to help determine why code was written in a certain way. These notes ...
mcknz's user avatar
  • 903
21 votes
Accepted

On a once a day user action: 24 Hours Reset vs. Midnight Reset

I'm am surprised as usually I would expect the midnight reset. However, It does come with a major disadvantage, in that there is more than one midnight every 24h. You need to choose your timezone. ...
Ewan's user avatar
  • 76.3k
20 votes

Is it normal/acceptable to write down notes, thoughts, algorithms, decisions during coding and maintenance?

It's a damn good idea. Right up until it becomes a way to procrastinate. The key is balance. I find I'm most productive if I don't box my self in but capture ideas as they come. If I'm grinding at ...
candied_orange's user avatar
17 votes

What is the most efficient way to continue developing a piece of software in the long-term?

It is entirely normal and expected that you have to re-learn a codebase after you have not worked with it for a longer period of time. And the longer that period is, the larger the part that you need ...
Bart van Ingen Schenau's user avatar
14 votes

On a once a day user action: 24 Hours Reset vs. Midnight Reset

Off the top of my head: It may be easier to implement the "24-hours since last action" version If the user does not perform the action exactly 24 hours after the last time, then eventually they may ...
Richard Ward's user avatar
14 votes

What are programming languages written in?

What are programming languages written in? Programming language compilers and runtimes are written in programming languages — not necessarily languages that are older or are different than the one ...
Erik Eidt's user avatar
  • 34.1k
13 votes

What is the most efficient way to continue developing a piece of software in the long-term?

Contrary to popular wisdom (and especially contrary to depiction in popular media!), successful programming is not a matter of innate genius or of extreme intelligence. It is predominantly a human ...
Kilian Foth's user avatar
11 votes

What are programming languages written in?

Think of it this way. Python is written in C, No, it is not. You seem to be confusing a Programming Language like Python or C with a Programming Language Implementation (e.g. a Compiler or ...
Jörg W Mittag's user avatar
11 votes

What is the most efficient way to continue developing a piece of software in the long-term?

As a complement to other answers, one of the most important things to document (i.e. write down), and often neglected, is design decisions: why you chose to do things the way you did. Some decisions ...
Pablo H's user avatar
  • 655
9 votes

Is it normal/acceptable to write down notes, thoughts, algorithms, decisions during coding and maintenance?

In any professional situation, it's not only "normal and acceptable", it's mandatory. The typical development cycle consists of two documentation phases before any coding even begins: Functional ...
John Forkosh's user avatar
8 votes

On a once a day user action: 24 Hours Reset vs. Midnight Reset

As other answers have mentioned, the 24hr method is more friendly to multiple time zones, and is just as easy to code, as you just store the last successful timestamp for each user. It also has the ...
Rick's user avatar
  • 199
8 votes
Accepted

How do you know where you stopped in your codes after a 2-week break?

Copious notes. Write down your thoughts, your progress, in as much detail as needed to clear your mind. It's no different from when you do a problem analysis tracking down a bug and someone else is ...
jwenting's user avatar
  • 9,783
8 votes

What are programming languages written in?

Each machine has an instruction set it natively executes. That instruction set is the first language. The first higher level language was assembly, literally allowing the programmer to write a long ...
Kain0_0's user avatar
  • 16.2k
7 votes

How do you know where you stopped in your codes after a 2-week break?

The most obvious recommendation is to always stop at a point where all of the work is "done". So when you return, you start on something new instead of trying to remember where you left of. Instead ...
Euphoric's user avatar
  • 37.4k
7 votes

Looking for a sanity check, do you alphabetize your code? Is that even a thing?

Sorting method definitions by alphabet is definitely unusual, and I can't see it helping readability in any way - professional code bases should be handled with IDEs that make the findability of ...
Kilian Foth's user avatar
6 votes
Accepted

How can we effectively manage software projects without killing creativity?

You are mistaken what "manage" means. In context of software development, managing a project means that the project progresses with necessary features, on budget, on time and with acceptable quality. ...
Euphoric's user avatar
  • 37.4k
6 votes

Is it better to write the whole feature and then debug or do it incrementally?

There is a reason why "Test Driven Development" has become extremely popular today - it lets developers write a little bit of test, a little bit of code, compile it, test a little (maybe debug it, if ...
Doc Brown's user avatar
  • 208k
6 votes

Looking for a sanity check, do you alphabetize your code? Is that even a thing?

There are some standard coding conventions for Kotlin, directly provided by JetBrains. They recommend this: Do not sort the method declarations alphabetically or by visibility, and do not separate ...
Doc Brown's user avatar
  • 208k
5 votes

On a once a day user action: 24 Hours Reset vs. Midnight Reset

About your problem with the 24h duration between actions, some companies instead use a 22h duration, this way the users get a bit of leeway on the exact moment of the day where the action is required ...
TheNaturalTanuki's user avatar
5 votes

Combine if blocks with repetitive code

In this specific case, a nice way to refactor your code would be to make the conditions clearer. (Make sure to put the following code into a function) if (expr1 and !expr2) return; if (expr1 and ...
imnota4's user avatar
  • 123
5 votes
Accepted

Combine if blocks with repetitive code

In snippet 1 you are explicitly stating that you don't want codeblock2 to be run if expr1 is false. In snippet 2 you are stating that you DO want codeblock2 to be run, even if expr1 is false, as long ...
Tulains Córdova's user avatar
4 votes

Is it normal/acceptable to write down notes, thoughts, algorithms, decisions during coding and maintenance?

A great place to put this kind of information is directly in the commit message of your version control system (SVN, git, etc). This way you can see the changes and the reasoning for them in the same ...
Derek's user avatar
  • 208
4 votes

How do you know where you stopped in your codes after a 2-week break?

How do you know where you stopped in your codes after a 2-week break? The same way I know where I stopped after I take a bathroom break. Notes. You take notes, you make to do lists, you don't walk ...
candied_orange's user avatar
4 votes

What is the most efficient way to continue developing a piece of software in the long-term?

There are lots of good tips here already. Perhaps I can add one more. I have about two dozen embedded hobby projects with separate code bases. And in addition to the other tips here about ...
Blaine Osepchuk's user avatar
3 votes

On a once a day user action: 24 Hours Reset vs. Midnight Reset

tl/dr: 24 hour resets are the lazy man's way of minimizing load spikes In addition to the above answers, the midnight-reset encourages surges of traffic. If the action becomes available to all ...
Conor Mancone's user avatar
3 votes

How do you know where you stopped in your codes after a 2-week break?

Personally, I leave an intentional compile error. I write a short comment to myself in the code. Then I uncomment it. When I get back, by force of habit I start up my IDE, build, and...hey, ...
Kyralessa's user avatar
  • 3,723
3 votes

What is the most efficient way to continue developing a piece of software in the long-term?

My advice would be to start by creating a library of reusable components that you can use in all your projects. This is especially true if you find yourself copying code between projects or re-...
JonasH's user avatar
  • 5,544

Only top scored, non community-wiki answers of a minimum length are eligible