3 ms·
I work as a contractor and have codebases in python, f#, delphi, swift, obj-c and now rust. > "I wonder if there is some way of creating a ???? project and mak
by mamcx 7y ago
I work as a contractor and have codebases in python, f#, delphi, swift, obj-c and now rust.
> "I wonder if there is some way of creating a ???? project and make it resilient to future??? updates and releases with minimum fuss?"
- Use control version (mercurial, git, ...) in everything, including utils and side projects.
- Record all dependencies somewhere in the project.
- Automate the builds, so you also have how reconstruct the project
- Use VM or containers or virtual envs or similar
- Rely in a small "core" of solid dependencies (in my case: PostgreSQL, sqlite3, nginx, ubuntu LTS) that could cross across projects and versions.
- Reduce dependencies (but each day is HARDER and HARDER) or better, NOT USE VERY FANCY STUFF (rely on PAAS or kool-aid kind of tech.) For example, If I rely in a http client library it can be dead years after I need to upgrade. That sucks, but, a "http client library" is so "normal" to have that I can rely in found a alternative easily. However, if I base everything on top of Firebase or other cloud stuff, if it die... good luck with that!
- babayega2 7y agoVery interesting. I myself was dealing with a Java project I need to maintain for legacy reasons on MySql 5.1. I Just spoon up a Django project aside, and used Peewee[0] to access without changes the DB. Works like a charm and easily integrated in Django midleware. [0]: https://github.com/coleifer/peewee/issues/1995 https://github.com/coleifer/peewee/issues/1995
- dkarras 7y ago>NOT USE VERY FANCY STUFF They said "with minimum fuss". Write every non-trivial functionality yourself from scratch is the opposite of minimum fuss. When you use something fancy, and the devs stop supporting it, worst case is you have to write it from scratch yourself at that point, or hope that an alternative exists. Your suggestion is acting like they don't exist in the first place and write stuff yourself like fancy stuff disappeared - it is a huge hassle and investment all the same.
- mamcx 7y agoI mean VERY fancy stuff. Things nearly "experimental" or that rely in a huge black box. Like "not chance in hell I could replicate it" instead of "very hard, but doable". I know everything have "but..." somewhere (for example: We rely in operating system and the browser, 2 things too hard to recreate) but the idea is always about minimization. Sometimes you NEED to rely in VERY fancy stuff... but then you are walking on luck...