33- Date: 2018, Jul 23
44
55About a year and many cups of coffee ago, I was invited to work on a project in
6- Fortaleza. That was what finally made me move to a new city— something I had
6+ Fortaleza. That was what finally made me move to a new city, something I had
77been postponing for two years, insisting on staying in Sobral.
88
99The project was incredible: working on a Laravel 5.1 application aimed at helping
1010companies manage rentals. Initially, I was going to be the sole developer leading
11- this endeavor , with B2rent being just one of the products of Pilps GP.
11+ this effort , with B2rent being just one of the products of Pilps GP.
1212
1313I felt like the perfect developer for the job. Working with legacy code in a
1414startup environment had become almost second nature over the past two years. That
15- period— working as a freelancer or building my own startup— was one of the best
16- times of my life up to that point. I met many people who helped me and radically
17- changed my worldview .
15+ period, working as a freelancer or building my own startup, was one of the best
16+ times of my life up to that point. I met many people who helped me and changed
17+ the way I see things .
1818
19- That energy of creating new things and learning every second is an intrinsic
19+ That energy of creating new things and learning every second is a core
2020part of who I am today. The challenge was to expand the project's functionalities
21- while streamlining the codebase— a Herculean task, to say the least .
21+ while streamlining the codebase, a Herculean task.
2222
2323A prime example of this is that, even a year later, there are still Controllers
2424I have never touched. The reason for the bloated codebase was the number of
2525developers who had worked on it before me, implementing isolated features
26- without considering maintainability—each with a different vision of what the
26+ without considering maintainability. Each had a different vision of what the
2727project should be.
2828
29- Most tasks always came with extensive refactoring of the codebase: removing
30- business logic from Controllers, optimizing massive queries, extracting
31- useless code, and, more often than not, negotiating scope adjustments. Through
29+ Nearly every task came with extensive refactoring of the codebase: removing
30+ business logic from Controllers, optimizing massive queries, removing
31+ dead code, and, more often than not, negotiating scope adjustments. Through
3232this, I learned that much of what makes software complex is the lack of
3333structured processes on the client’s end.
3434
3535The result of this work can be seen in the following graph, which shows the
3636number of lines added and removed in my contributions to B2rent. These numbers
37- aren’t what truly matter—the key takeaway is that, even as the product gained
37+ aren’t what truly matter. The point is that, even as the product gained
3838more features, we managed to keep the codebase as lean as possible.
3939
4040| Commits | Lines Added | Lines Removed |
@@ -44,13 +44,13 @@ more features, we managed to keep the codebase as lean as possible.
4444The frontend was another challenge. Laravel comes with a built-in structure for
4545Vue.js 1.0, but that setup had been completely removed at the project's start.
4646
47- Since I was particularly a fan of the library, one of my first tasks was to recreate
48- its setup. Although Vue 2.0 had already been announced at the time, bringing some
49- incompatibilities , we built most of our components with the new version’s requirements
47+ Since I was a big fan of the library, one of my first tasks was to recreate
48+ its setup. Although Vue 2.0 had already been announced at the time, which introduced
49+ some breaking changes , we built most of our components with the new version’s requirements
5050in mind.
5151
5252The goal was to reduce the percentage of jQuery and plain HTML while increasing
53- Vue’s presence by creating components of various parts of the application. We also aimed
53+ Vue’s presence by creating components for various parts of the application. We also aimed
5454to remove AdminLTE from our app. I have nothing against templates like that, but
5555if you don’t want to give the impression that you’re just another generic app,
5656don’t use them.
0 commit comments