DEV Community

Cover image for 5 Commandments for TypeScript programmers

5 Commandments for TypeScript programmers

Milosz Piechocki on July 17, 2019

More and more projects and teams are adopting TypeScript. However, there is a massive difference between just using TypeScript and taking the most ...
Collapse
 
lexlohr profile image
Alex Lohr

I think it is ok to lie a bit in unit tests as long as the testing data is complete enough not to introduce strange side effects.

For the sake of precision, use enums whenever possible in such cases.

Otherwise, a very good article. Thank you.

Collapse
 
miloszpp profile image
Milosz Piechocki

Hey, thanks for reading!

Regarding unit tests - agreed, I do this too. However, there are some pitfalls, which I mention here.

use enums whenever possible in such cases

I'd say most of the time a union of string literal types is good enough. Also, enums have a runtime cost (const enums do not, though).

Collapse
 
lexlohr profile image
Alex Lohr

a union of string literal types is good enough

You'll thank me later when you have to change the actual values one day (without having to change the enum's identifier).

Actually, I have to admit I didn't even know that there were other enums than const enums. We live and learn.

Thread Thread
 
miloszpp profile image
Milosz Piechocki

You'll thank me later when you have to change the actual values one day (without having to change the enum's identifier).

Yes, good point :)

Collapse
 
bevalorous profile image
Vadim Belorussov

Great post with simple and useful advice. Thank you!

I would like to translate this article into Russian to publish it on specialized resource, but I need your permission first. Would you mind?

Collapse
 
miloszpp profile image
Milosz Piechocki

Thank you!

Sure, that would be great! Just please include the link back to the original article :)

Also, if you let me know the URL of your translation, I can add some info about it here.

Collapse
 
bevalorous profile image
Vadim Belorussov

Sure, no problem. Thank you!

Collapse
 
bevalorous profile image
Vadim Belorussov

I've translated your article into Russian and published it: 5 заповедей TypeScript-разработчика

Thread Thread
 
miloszpp profile image
Milosz Piechocki

Wow, that was fast! I added the link at the top of the article.

Thread Thread
 
miloszpp profile image
Milosz Piechocki

BTW, if you're interested in translating more TS articles, you can find some of mine here: codewithstyle.info/tags/typescript/

Collapse
 
luispa profile image
LuisPa

Awesome post!

Collapse
 
miloszpp profile image
Milosz Piechocki

Thank you!