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 ...
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 ...
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.
...
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 ...
16
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 ...
15
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 ...
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 ...
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 ...
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 ...
9
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
3
votes
What is the most efficient way to continue developing a piece of software in the long-term?
Others have made very good points, but it's worth saying that reorientation and "task-switching" time is to be expected after you've put the code down for a while, and moved mentally onto ...
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-...
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, ...
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 ...
2
votes
Is Dependency Injection A Standard in PHP and Laravel?
Or in actuality, how to tell if a certain technique has became a standard in certain language / framework?
Closest thing to a standard in PHP is PSR. Apart from that, all frameworks, libraries and ...
2
votes
What is the most efficient way to continue developing a piece of software in the long-term?
What are the most efficient and best ways in software development to avoid this 'dead'/'lag' time when you pick up development of a project again after a prolonged break from working on it?
A few ...
2
votes
Practical Advice for rapidly changing code maintainability
I would like to spend more [time] doing what I'm good at - the math and stats - and less of it on what I'm not as skilled at - organizing code.
The problem is that you're not being employed to do ...
1
vote
Looking for a sanity check, do you alphabetize your code? Is that even a thing?
Alphabetized members is one of several potential code organization strategies. They are generally aimed at making it easier to navigate within files predictably, which is particularly helpful with ...
1
vote
How to execute code "under the hood" in my no-code platform
In the scenario you describe JSON is being used as a DSL. DSLs interpret "tokens" to create machine readable action. However, unlike real languages they require a custom parsing engine and ...
1
vote
What are programming languages written in?
The oldest programmable computers (like the ENIAC) were programmed by physically setting mechanical switches and plugging wires to certain configurations which caused the CPU to perform the desired ...
1
vote
Efficient way to find Xor of pairs with given target X in a range 0 to K
Rainbow table
Unfortunately the work has to be done sometime, but if you have the space you can do a lot of that work once.
The Rainbow table is literally a computation table. Given X, Y, and the Op ...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
coding × 92design × 9
programming-practices × 8
coding-style × 8
coding-standards × 8
java × 5
refactoring × 5
productivity × 5
algorithms × 4
python × 4
interview × 4
maintenance × 4
php × 3
c# × 2
design-patterns × 2
architecture × 2
object-oriented × 2
c++ × 2
javascript × 2
testing × 2
programming-languages × 2
c × 2
data-structures × 2
development-process × 2
code-quality × 2