3 ms·
I sometime go weeks without compiling. Background type checking and a defensive coding style works well for me. When I do run code I expect it to work the first
by cjbgkagh 5y ago
I sometime go weeks without compiling. Background type checking and a defensive coding style works well for me. When I do run code I expect it to work the first time. I do white box test it to be sure. I find other developers to be rather cavalier about bugs, bugs are a valuable learning opportunity to me and each one goes into a ledger so that lessons are not lost.
- w0m 5y agoWhat field do you work in? It's rare I'm able to work on the same project for weeks at a time; let alone compile.
- cjbgkagh 5y agoIt’s my own software that I sell licenses to. I’m a solo dev but I have had contractors help me from time to time. 6 years of dev time with over 500K LOC of a wide variety of languages. It’s mostly really dense functional code. It’s an extremely stable code base - once something is built it’s unlikely I’ll ever have to touch it again. One of my primary motivations to do solo dev was to have the freedom to do things properly without ill-informed program managers rushing me into bad decisions.
- chrisweekly 5y agoIs any of it OSS? I'm always eager to see high-quality codebases like what you've described.
- cjbgkagh 5y agoI keep this account (and all social accounts anonymous) so I can’t share my OSS code. I think self-hosting meta language compilers would be the closest similar code base. My code is targeted to experienced functional programmers, and others of the same skill level seem to have no trouble with it, but the less experienced will bounce off it. My thinking is that those people should get more experience and come back instead of optimizing my codebase to a lower common denominator for ease of hiring. This has made hiring difficult as anyone who can work on my code base can probably get a high paying job at a FANG. But as a solo dev the productivity gain is enough that I still have no trouble competing in my niche.
- kaetemi 5y agoI find that the strategy of writing for a week or two without compiling works well for me too. At least when the goal is big and clear. Doesn't work with clients who aren't quite sure what their own requirements are, of course. Then it's more of a few days at most, so revisions can be done early. If I'm interfacing with a library that I'm not familiar with, I'll usually do trial and error in a blank project, separate from the actual project, first. Then write cleanly in the real project. Iteration times on the learning process are faster that way. Sometimes I'll just write long drafts or snippets in notepad at first, just to stay clear of IDE distractions. It's a fast way of figuring out the structure of things without the need for everything to compile at all times.