this post was submitted on 21 Jul 2023
43 points (100.0% liked)

Programming

13376 readers
1 users here now

All things programming and coding related. Subcommunity of Technology.


This community's icon was made by Aaron Schneider, under the CC-BY-NC-SA 4.0 license.

founded 1 year ago
MODERATORS
 

Why is it so in mobile development that 90% of projects does not have proper architecture, and when there is one, devs complain about it. I don't see it being a case for other technologies of development, only mobile. In mobile the project always has spaghetti code, barely any abstraction it is developed just to be finished as quickly as possible and that's it. And when there is clean architecture introduced, everyone complains. Why is it just a case in mobile development?

Just disclaimer: It is not like the architecture in project is completely new invention, it uses well known principles and approaches

you are viewing a single comment's thread
view the rest of the comments
[–] steph@lemmy.clueware.org 5 points 1 year ago (1 children)

Others has answered the specific cases where TTM is paramount.

When time is less of an issue, in my experience it's in no particular order a mix of:

  • product owners or similar role wanting "everything and right now" for no reason whatsoever, except maybe some bonus;
  • bosses bossing around to try and justify their existence instead of easying progress ;
  • developers being not much more than code jockeys with a tendancy to develop by StackOverflow copy/paste;
  • operations lacking time, resources or knowledge to build a proper CI/CD pipeline - when it's not an issue of operations by ServerFault copy/paste;
  • experts (DBA, virtualization, middlewares) being kept out of the project, and only asked for advice when things go terribly wrong later.

All in all, instead of short term profit, it's a lack of not-so-long term vision and engagement from everyone involved. They just don't care.

Yeah, I'm the one in charge of fixing the mess, why you ask?

[–] Kubenqpl@szmer.info 2 points 1 year ago (1 children)

Just needed to face my frustration with opinion of others. I am confident about my habits of keeping code clean as if I do the mess and then I need to do some quick changes it saves a lot of time and frustration. However I am noticing the most of such behaviours (complaining about keeping the code clean) in mobile projects, it looks like this is the field where there is the most SO copy-pasters. I wonder why, mobile is not that popular technology choice, and usually the most popular choices have tendency to attract unskilled devs or people who just want to earn much on coding

[–] upstream@beehaw.org 3 points 1 year ago

I’m always wary when someone talks loudly about architecture.

I’m not saying it’s not important, by all means, but in my 10 years as a professional developer I’ve found that the people who are most devoted to preaching architecture don’t contribute to good architecture.

I’ve only met a few persons that fit that bill, so obviously nothing statistical, but the experience has left me wary when people start to become loud about it.

I’m not saying this is you, but if everyone is pushing back it might just be that you are part of the problem, not the solution.

Architecture can be many things.

However, there are individuals who believe that the only way is that one way they read about in a book once, or even worse, they’ve read it multiple times and it’s their Bible. Maybe they’ve read multiple books by the same author and has basically adopted someone else’s viewpoints without any critical thinking.

Exposing yourself to different architectural strategies, viewpoints on architecture from multiple people.

And remember that all architecture serves a point. It is the job of the architect, and the team, to build an architecture that solves the needs of the project.

“Clean code”, whatever that is interpreted as, is probably not one of them.

“Good test-ability”, modularity, multi-platform, performance, package-size, internationalization, accessibility, etc. might on the other hand be needs and goals that can be used to guide the project architecture.

Uncle Bob’s layer cake probably isn’t.

If you want better takes than mine on criticisms of Uncle Bob’s Clean Code I suggest to Google it. It might cause you to re-think some things as well.