Actually, I have been developing since five years, always at school. But since one year and a half I work for a company, three days per week. I don't think that I'm the best developer but not the worst. And for this year I has deciding to be a better developer. But why ?
My definition of good developer
I read many post on DEV or other forum, and frequently I saw this :
"A good developer is fast, writes few lines, very specialized."
"Companies search a developer very qualified in one domain."
I'm not ok. It's not be a good developer to write three lines instead of ten, if no one can take the code after it. It's not be a good developer to code quickly, if the code is ugly. I prefer take my time, but my code is good for me, for the company and for the person who takes my code afterwards.
How can I become a better developer ?
To become a better developer I separate my year with three objectives :
1) Refactoring
2) Testing
3) Performances
I chose these objectives because, for me, it's the definition of good developer.
1) A code clean, whoever takes my code, it will be easy to take back.
2) A constant code, the company is based on a tested and clean code.
3) Code that doesn't use more resources than necessary.
Refactoring
I searched many books on refactoring, mainly for JS. And I found this :
Refactoring : Improving the Design of Existing Code / Martin Fowler
I think this book should be read by all developers. I have learned so much ! Analyze and understand how it is possible to refactor your code, this is what is explained in this book, with very clear examples.
I highly recommend it.
And last week at my job, I finish a PHP code and I decide to refactoring my code by applying what I learned. And it's the better satisfaction. My book is the second edition with examples on JS, but the first edition is on Java.
My list of books
The Clean Coder: A Code of Conduct for Professional Programmers / Robert C. Martin
Clean Code: A Handbook of Agile Software Craftsmanship / Robert C. Martin
Clean Architecture: A Craftsman's Guide to Software Structure and Design / Robert C. Martin
Clean Agile: Back to Basics / Robert C. Martin
Test Driven Development: By Example / Kent Beck
Implementation Patterns / Kent Beck
Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation / Jez Humble
High Performance JavaScript / Nicholas C Zakas
These are mainly books on refactoring, because I haven't researched other objectives yet. I don't have an exceptional level of English, I would even say that it is poor, but if we go to great lengths we are always rewarded. Sorry for my English, if you read until the end. I will do other articles on my readings. Feel free to give me references, or anything else in comments. Thanks for reading.
Top comments (1)
Interesting. Small grammar mistakes aren't pushing you back!
I'm still young in this industry and wanted to learn more about code refactoring. From your vast experiences in this field, will you be sharing the examples of code refactoring implementation? Looking forward for your response. ππ