Julio Biason
6 years ago
4 changed files with 61 additions and 2 deletions
@ -0,0 +1,58 @@ |
|||||||
|
+++ |
||||||
|
title = "Things I Learnt The Hard Way - Write Steps as Comments" |
||||||
|
date = 2019-06-18 |
||||||
|
|
||||||
|
[taxonomies] |
||||||
|
tags = ["en-au", "books", "things i learnt", "steps", "comments", "code"] |
||||||
|
+++ |
||||||
|
|
||||||
|
Don't know how to solve your problem? Write the steps as comments in your |
||||||
|
code. |
||||||
|
|
||||||
|
<!-- more --> |
||||||
|
|
||||||
|
There you are, looking at the blank file wondering how you're going to solve |
||||||
|
that problem. Here is a tip: |
||||||
|
|
||||||
|
Take the spec you (or someone else) wrote. Break each point into a series of |
||||||
|
steps to reach the expected content. You can even write on your natural |
||||||
|
language, if you don't speak English. |
||||||
|
|
||||||
|
Then fill the spaces between the comments with code. |
||||||
|
|
||||||
|
For example, if you have a spec of "connect to server X and retrieve |
||||||
|
everything there. You should save the content in the database. Remember that |
||||||
|
server X has an API that you can pass an ID (the last ID seen) and you can use |
||||||
|
it to not retrieve the same content again." Pretty simple, right? |
||||||
|
|
||||||
|
Now, writing this in comments, pointing the steps you need to make: |
||||||
|
|
||||||
|
``` |
||||||
|
// connect to server X |
||||||
|
// retrieve posts |
||||||
|
// send posts to the database |
||||||
|
``` |
||||||
|
|
||||||
|
Ah, you forgot the part about the ID. No problem, you just have to add it in |
||||||
|
the proper places -- for example, it doesn't make sense to connect to the |
||||||
|
server before you have the last seen ID: |
||||||
|
|
||||||
|
``` |
||||||
|
// open configuration file |
||||||
|
// get value of the last seen ID; if it doesn't exist, it's empty. |
||||||
|
// connect to server X |
||||||
|
// retrieve posts starting at the last seen ID |
||||||
|
// send posts to the database |
||||||
|
// save the last seen ID in the configuration file |
||||||
|
``` |
||||||
|
|
||||||
|
Now it is "easy"[^1]: You just add the code after each comment. |
||||||
|
|
||||||
|
A better option is to change the comments into functions and, instead of |
||||||
|
writing the code between the comments, you write the functionality in the |
||||||
|
function themselves and keep a clean view of what your application does in the |
||||||
|
main code. |
||||||
|
|
||||||
|
[^1]: Yes, that was sarcastic. |
||||||
|
|
||||||
|
{{ chapters(prev_chapter_link="/books/things-i-learnt/spec-first", prev_chapter_title="Specs First, Then Code") }} |
Loading…
Reference in new issue