DEV Community

Adam Davis
Adam Davis

Posted on

How do you take notes while you code?

Do you like to take notes when you're writing code?

Do you organize them in some way, or do you only keep notes about your current tasks?

What pieces of information do you think are helpful to keep track of?

Top comments (59)

Collapse
 
panditapan profile image
Pandita

I normally take notes on Obsidian: my to-dos, daily reflection, meetings notes, definitions and so on.

If I'm extremely and highly stressed out I start to brain-dump everything on paper. For me, it feels like I'm moving things from my brain to somewhere else and I can see it much clearly than with my computer.

I feel that for my brain, the computer is just an extension of itself, but paper? nope, it's a place to vomit feelings/thoughts/ideas/etc 😂 I think this is due to my teen years where I would draw a lot. Every idea, thought, feeling was set on paper and promptly forgotten hahaha

Collapse
 
brewinstallbuzzwords profile image
Adam Davis

I don't know the last time I've resorted to using paper, but sometimes if I need to sketch some diagrams out with my Wacom tablet

Do you like Obsidian? How does it compare to Notion?

Collapse
 
panditapan profile image
Pandita

aah I wouldn't be a good person to ask regarding Notion vs Obsidian because I was never properly able to use Notion! it would distract me more than I actually using it hahaha I would make pretty dashboards one day and the other? eeeeh I wouldn't do anything with it.

Obsidian sorta allows me to create and use all my creativity without distracting me. It really does help me focus on writing rather than "designing my dashboard to be aesthetic" 😂

Thread Thread
 
brewinstallbuzzwords profile image
Adam Davis

Ah, gotcha. I guess I haven't delved too deep into what Notion can do, since I didn't realize it was possible to spend that much time making things look better haha

I mostly use it for writing my blog posts and keeping a schedule of when I'm going to publish things

Thread Thread
 
panditapan profile image
Pandita

I suggest a small search in pinterest for notion 😂

I use obsidian mostly for work, to handle my work planning. My personal obsidian is more for jotting down things I don't want to forget or saving information or thoughts about subjects I'm interested in, not so much for planning (I do a little bit for non code projects). I use paper planners for weekly home planning since I really like my stickers and washi tape :3

Thread Thread
 
abelardusbm profile image
Abelardus

Would you happen to know the difference between Obsidian and Evernote?

Im just starting to take notes but insured about what tool is best.

Thanks!

Thread Thread
 
panditapan profile image
Pandita

Hi, sorry for the late reply!

I actually decided on Obsidian as a replacement for Evernote :surprised: I used Evernote a lot to take notes, I really liked the editor and the notebook organization they have going on but the discoverability of whatever I wrote down wasn't as good, or at least I wasn't really good at it. I also didn't like how it was a web app that would limit the access to my notes unless I paid (or logged out constantly and I'm more of a remember me type of gal). I don't have that trouble with Obsidian because my notes belong to me and are in my computer (I should link it to a git repo though, but for now it's fine), I pay for the sync between my phone and computer and that's it. I don't depend on a 3rd party in this case!

Also, Obsidian has a really nice, supportive and helpful community! I really suggest looking for beginner resources because when you open Obsidian for the first time you'll feel like looking at a blank paper! so many possibilities xD

But, the only way to find out if a platform is for you is to test it out! that's how I know if something works or not for me c:

Collapse
 
ericzedd profile image
ericz • Edited

Not OP, but have used both.

Notion is your 'use-however-you-want' software, and you can practically customize it in anyway that you see fit. You can soure your stuff from different databases, linked into one dashboard, table, kanban, or calendar view

Obsidian on the other hand is a very streamlined note taking app. But despite of, it does a really good job of linking references to what you're currently working on without getting distracted.

EDIT: Ohh OP beat me to the "getting distracted" part 😅

Collapse
 
tmchuynh profile image
Tina Huynh

I have been looking into Obsidian. It looks like a wonderful application to start using.

Collapse
 
panditapan profile image
Pandita

it is!! it can also send you through a personal knowledge management rabbit hole which is an experience I personally really enjoyed 😂

Collapse
 
brewinstallbuzzwords profile image
Adam Davis

I like to keep a small text document of TODO items for my current ticket. If something is particularly complex then I’ll keep my notes saved for future reference, but there’s typically enough details in the ticket or the code / comments that I don’t need my notes after the fact.

Curious to see what other people take notes on and how it helps their coding process.

Collapse
 
bradtaniguchi profile image
Brad

I basically do this, but update/reply/edit the original ticket so if I were to get shifted to another task, someone else can leverage any notes/information I took.

Or if in the future I need to go back over the same ticket everything is in the same place, for me or whoever.

Collapse
 
brewinstallbuzzwords profile image
Adam Davis

That's a good point. Need to make sure enough information is there for someone who may work on it later

Collapse
 
sso profile image
Sall • Edited

I used many tools, techniques until I tried github.com/xwmx/nb and learned how to automate and integrate. It became my all-in-one tool which do anything, anytime, and anywhere also has scheduled workflows and is integrated with multiple services like GitHub, Jira, etc.

Collapse
 
brewinstallbuzzwords profile image
Adam Davis

That's pretty cool. I hadn't heard of that tool before

Collapse
 
sso profile image
Sall • Edited

Important to identify your needs and plan far ahead before choosing the services (as there is so many). The tool is not the most important part, but makes life a lot easier when the tool is right and well known. I recently started the whole organization for Z shell tools and their manager (Z shell is a powerful scripting language as-well). It's in early stage but I am pretty sure it can replace all your current tools and most of OS services. Welcome to use it or participate to make it better :) (Need support small and complex tasks).

z.digitalclouds.dev
github.com/z-shell

Collapse
 
cerchie profile image
Lucia Cerchie

When there's a long command idiosyncratic to a codebase I actually throw it in my Slack messages to myself -- avoids multiplication of apps.
I should figure out how to alias these though-- any good resources?

Collapse
 
brewinstallbuzzwords profile image
Adam Davis

I think I'd probably use Slack in that way if my company didn't have messages set to auto-delete after a certain amount of time

If you have idiosyncratic commands that are really common in a codebase, it might be helpful to create a development.md file for quick reference

Collapse
 
cerchie profile image
Lucia Cerchie

That's a great idea!

Collapse
 
fjones profile image
FJones

I tend to have a scripts folder in my home dir, usually set up as executables with references to the working dir if needed. Shell aliases if they're more common.

Collapse
 
jonrandy profile image
Jon Randy 🎖️ • Edited

Handwritten notes on my reMarkable tablet - one of the best things I ever bought

Collapse
 
brewinstallbuzzwords profile image
Adam Davis

What else do you use it for? I've looked into getting one before, but I don't know if I'd use it enough to justify the price

Collapse
 
jonrandy profile image
Jon Randy 🎖️

It handles PDFs way better than a Kindle, so I use it for reading stuff too. I used to go through an awful lot of paper taking notes, but this is much easier to manage

Thread Thread
 
brewinstallbuzzwords profile image
Adam Davis

I occasionally read PDFs on my Kobo (an e-reader that's pretty similar to a Kindle) but haven't done it in a while since it doesn't handle them super well. I can see how I'd probably take more notes while reading if I could write directly on the document

Thread Thread
 
jonrandy profile image
Jon Randy 🎖️

You can indeed write directly on the document

Collapse
 
dgloriaweb profile image
dgloriaweb • Edited

I use Jira, however I don't think it couldn't be better. All my notes go into the backlog, as a subtask or as a comment. Every time I feel that I'm done with what I was working on, I return to the task, and read it again, making sure that my change was actually what the task was. So my notes are there, eg. if a flash message is red not green, I won't stop and fix it, I add it to the task as a subtask and continue with the current work. I use notebook (pen and paper) if I have to work out logic. If it's math, I use notebook, if it's flow, I use whiteboard and take a picture.

Collapse
 
brewinstallbuzzwords profile image
Adam Davis

That's a good point about adding subtasks. I definitely need to get better about that, since it's so easy to start fixing a bunch of small things that I come across

Collapse
 
diballesteros profile image
Diego (Relatable Code)

I use notion, I write some cheatsheet type things down and maybe some key interactions. I try to keep it at a bare minimum.

Mostly try to focus on actually trying to implement what I'm studying so it sticks more. At least thats whats worked for me.

Collapse
 
waigani profile image
Jesse Meek

I use CodeLingo Notebooks for code notes.

It's like Notion for devs. It's a web doc with markdown formatting, but you can insert "blocks" that integrate with editors and VCS hosts (e.g. github): here's a video demo:

I mainly use code snippets that you can click on to locate the code in your editor again. So you can literally navigate the codebase with your notes.

For example, if I'm touching several bits of code across the repo, I go back to the note to remind myself what the next step was, click on the snippet and it loads the exact bit of code up for me in my editor.

It's got a bunch of other features on top, chatting with your team on a snippet, applying a patch etc.

Full disclosure, CodeLingo Notebooks is my own project so I'm obviously biased but I can honestly say I can't imagine coding without it now. Super keen to hear people's thoughts.

Happy Coding 😊

Collapse
 
alexisfinn profile image
AlexisFinn

Don't usually take notes just to myself.
1- If it concerns the functionality it should be add to the ticket
2- If it's a todo-list of things I need to do on my current ticket add it to the commit message
3- If it's something technical concerning the code it should be documented in the source-code
4- If it concerns architecture, how to install/run, add it to the repository README

Collapse
 
spaquet profile image
Stephane Paquet

It depends on the nature of the note.
When the note is intended to be shared I will just write it in the code using an highlighter tool to make sure it's visible. This way the notes can be quickly shared with my peers.
When it's a note that require discussion: Notion
When it's a note for me, I will drop it in my Notion note section.

Collapse
 
utkarsh736 profile image
Utkarsh736 • Edited

I don't take notes anymore as it wasn't helping me but rather taking up a lot of my time.
I just try to practice the concept in code and look to alter it to grasp a better understanding.
If there is a point that I always seem to forget or find myself googling it repeatedly then I note that point down just anywhere(don't usually read it again) but just writing it makes me remember it.

Also, if it is a tutorial type project then I add simple comments for me to understand later.

Collapse
 
610yesnolovely profile image
Harvey Thompson

I use Emacs' org-mode - which is essentially a text file (similar to markdown) but with more dynamic abilities: tables, todo lists, tree like organization, code blocks (that can be executed and pipelined).

Each project has such a file, and it's versioned with Git or Perforce. This is the most part: versioning and switching between projects is fairly easy.

For large projects, even if the company uses something like Jira, I'll still keep notes and Jira links in this file, so I can list which bugs or tasks I'm working on - often I'll get interrupted or have to fix something quickly, so it really helps with context switching.

Collapse
 
skydevht profile image
Holy-Elie Scaïde

Right now, I'm adding Craft to my workflow. I can keep a lot of information in my head, but that tires me. So I jot them down. That have also reduce my development time. It's mostly things that I would talk to someone else if I was working with a collaborator. I've also use goodnotes as a whiteboard when I need to break down a tough problem. If I'm doing research, I dump everything in apple notes to organize and distill later.

Collapse
 
tmchuynh profile image
Tina Huynh

I love using Pocket to keep tabs of everything I think I will go back to, resources that could be useful overtime, etc. Other than that, I use my bullet journal to write down pieces of information I may learn each day and index them as needed. If needed and specific to the project I am working on, I'll add comments to the document for me to return to the next day or following week.

Collapse
 
brewinstallbuzzwords profile image
Adam Davis

I've been using Pocket intermittently for years. I always seem to forget it exists a couple months after I start using it, then try it again a year later.

Do you have any spreads in your bujo that you find particularly helpful for this sort of thing? Or does most of it end up in your daily logs?

Collapse
 
fjones profile image
FJones • Edited

Transient notes go into Slack, open strands in code go into TODO-tagged comments (thanks JetBrains for letting me find them easily!), and more persistent notes go into a root-level TODO/README, our wiki, or as a printout on the whiteboard.

Relevant personal notes just get dumped onto the desktop, with cleanup every year or so during business downtime.

For development sketches and so on, I just go pen&paper. Usually have a small A6 booklet with me for that purpose, and scribble down ideas and plans while sitting on the deck.