OvermindDL1

OvermindDL1

Forcing generated directories into Umbrella apps (split thread)

There definitely needs to be more generators for that kind of stuff!!

Ugh, no, ugh… Umbrellas encourage more interconnections than necessary. I personally keep everything as fully standalone libraries with a ‘master’ project that just depends on them all and sets up their configs and so forth. Umbrella’s are so messy… >.>

First Post!

dimitarvp

dimitarvp

They might be but you keep forgetting people want drop-in works-out-of-the-box tools and not an engineering PhD exam when working. :smiley:

If I am to embark on such an adventure I’ll make doubly and triply sure that the experience is near-seamless, easy and quick. I have no intention of introducing a spaghetti monster that makes people’s lives harder. If that were to ever happen I’ll just freeze the GitHub repo and put a huge banner on it: “WARNING! DO NOT USE!”.


Not sure I agree with your opinion on umbrellas though – or with anybody who opposes them really. Umbrellas, much like the proposed future private functions, are a communication-of-intent mechanisms and a way to separate bunch of source files from each other. Nobody claims they are magic. If you have this dependency graph: business_logic >> business_data >> data_app_using_postgresql then no technology in the world can stop a dedicated programmer from cutting out the middleman and thus not respect semantic boundaries.

Example from almost the start of my career: people have been known to reverse-engineer compiled C++ multiple-inheritance classes which were specially crafted to hide the implementation – and they did so quite successfully. What can you do? If they don’t get the message of “here be dragons, don’t touch” then let them tinker. But I ain’t ever accepting a single “bug report” from such people.

So to this day I can’t understand the objections against umbrellas. They simply give a small peace of mind and address a part of the single-responsibility-principe / separation-of-concerns patterns. Nobody says they do something more.

Most Liked

OvermindDL1

OvermindDL1

Ahh, I bet that’s it! I’ve had to work with team sizes at my last job that are way way larger than they ever should have been. My current job has like 4 people that have access, and they still put everything through me regardless. ^.^;

I can see mono-repo’s being fine for very very few programmers on the project, but honestly just keep them as different namespaces in the same thing then, no need for the umbrella overhead. Even for projects by myself I still like to pull the pieces out a lot because it forces me to keep the bounds that I know belong there so I don’t accidentally (and I will otherwise) cross those bounds unless they are enforced.

OvermindDL1

OvermindDL1

The thing is that they don’t do that, rather they combine lots of code into a single repository that shouldn’t be touching. Its far easier to just have each part be its own testable library then merge them at the end via the normal built-in elixir dependency system, which is all of a single line added to the mix.exs file each. o.O

dimitarvp

dimitarvp

Is it though? How about big corporate gardens? Also some CTOs cannot be convinced to self-host a private Hex repo. And they don’t want their stuff on the public Hex.

I believe the idea of a mono-repo being easier to work with – at least when you use GIT – is quite proven but am open to the other point of view.

Where Next?

Popular in Discussions Top

JakeBecker
TL;DR: I’ve just released an implementation of Microsoft’s IDE-independent Language Server Protocol for Elixir. It adds language support ...
1144 54996 245
New
restack_oslo
Hello, Please pardon me for any faux paux. I am 46 and this is my first time on a forum of any kind. I wanted to to get answers from tho...
New
pillaiindu
In django there is a cache framework backed by memcached. Rails also puts a lot of emphasis on caching, and even the idea of russian-doll...
New
Nvim
Elixir appears to be a superior language to Python. I don’t see any advantage of Python over Elixir. Are there any?
New
thojanssens1
It would be nice to be able to define a redirect from one route to another from the router.ex file. E.g.: redirect "/", UserController, ...
New
mmmrrr
Just saw that dhh announced https://hotwire.dev/ Is it just me or is this essentially live view? :smiley: Although I like the “iFrame-e...
New
cvkmohan
The upcoming Phoenix 1.6 release looks very interesting. Became a habit to watch the commits - and - what they are bringing in. phx.gen...
New

Other popular topics Top

vertexbuffer
Hello, can anybody help here..? I have a list of players and I what to delete an element, but every for loop the list is reverting to ori...
New
jononomo
For some reason my phoenix channels are working for me in my local dev environment, but as soon as I deploy via Docker, I get a 403 error...
New
dokuzbir
I want to highlight html closing tags when i click a html tag. That works in .html files but doesnt work for html.eex templates. How can...
New
gshaw
What is the idiomatic way of matching for not nil in Elixir? E.g., First way: defp halt_if_not_signed_in(conn, signed_in_account) when...
New
sorentwo
Hello! tl;dr Announcing Oban, an Ecto based job processing library with a focus on reliability and historical observability. After spen...
985 44608 311
New
jason.o
In the code below, if the create action is not set to accept “extra_key” as an input, it errors out with a message shown above. Is there ...
New

We're in Beta

About us Mission Statement