I can type really really fast. Also, typing is not the bottleneck in coding. Thinking is. As long as I can type code changes faster than I can think of the next change, I’m as efficient as my brain can be.
How is this even possible? I completely understand automatically updating all the declarations and definitions. That saves a lot of typing to be sure, but the calls??? How the hell can it intelligently know what parameter to pass in every different place the function is called? If it can do that, it can just write your code for you. Yeah, it’s time consuming to go and check every place the function is called, but isn’t it sort of essential? I feel like I don’t want to even allow people to use that. A developer definitely has to go around and check each time the function is used to make sure it’s right.
20-30 minutes? What do you do when you press build, take a vacation?
I don’t know enough about your stack, so I’m sure you have reasons it’s done the way it is. Still, my first instinct is that it’s a bit backwards. I definitely don’t want to be tying up a developer’s computer for 20-30 minutes for them to go take a break in 2018. I would setup a remote mega powerful CI server of some kind to do the building and testing, preferably in under 5 minutes per build. Then I would setup a way to automatically, or at least easily, download those builds and run them locally for debugging.
I believe you, but I still feel like any software can be run locally.
I work on web software. In production its configured to run with a big stack of Amazon web services. How could I possibly run or test this locally without deploying it to AWS? Seems crazy, but I run the whole stack locally on a crappy old dell laptop.
Of course, it’s configured differently. For example I just use the local file system instead of Amazon S3. But due to lots of nice abstraction layers, my code is speaking to the same API regardless of what the environment configuration is. I can even theoretically test locally with sqlite and deploy to a production environment with Oracle. No code changes. Just flip an environment variable.
We could even switch to Azure or Google Cloud. Of course, it wouldn’t be that easy. The software would run after we change the configuration file, but it would still be a huge pain to bring all the data over and reconfigure the network.
Gotta abstract that stack.
EDIT: Are the long builds giving you time to post here? I only have time because I’m lazy.