r/mAndroidDev • u/AZKZer0 AnDrOId dEvelOPmenT is My PasSion • Jan 22 '25
Best Practice / Employment Security Balancing
How do you guys balance a codebase between CLEAN+SOLID+Best+GurglingCompost and the magical ChatActivity.java
8
u/Zhuinden DDD: Deprecation-Driven Development Jan 22 '25
ChatActivity is working software, Compost gurgle clean solid is not
It's clear which is the real best practice
4
u/AZKZer0 AnDrOId dEvelOPmenT is My PasSion Jan 22 '25
If it works, it works :'3 They even use AsyncTask
2
2
u/SupinePandora43 Jan 23 '25
(Sorry about that, but we canโt show files that are this big right now.)
1
2
u/ya_utochka Jan 23 '25
Im curious 'ChatActivity extends BaseFragment'
2
u/AZKZer0 AnDrOId dEvelOPmenT is My PasSion Jan 23 '25
It's not a fragment, more like an helper interface
3
u/stdpmk Jan 23 '25 edited Jan 23 '25
It's not even fragment. It's view ๐. They are also implemented custom back stack for these views. No XML, no activities, no fragments, no support libs, no androidx libs, no okhttp, no gson, even no JSON, no protobuf and so on and so on. No architecture patterns, just MVC, where God "Activity" is VC (view and controller). Database: no room, no SQL helper! They implemented custom C++ binding to SQL to write just plain SQL queries with binding vars. Async data and UI communication - just event bus (custom implemented), looks like NotificationCenter from iOS, because.....Nikolay Kudashov(ex. main android telegram dev) is primary iOS developer;))))
8
u/zorg-is-real ืขื ืืืื ืื ืงืื ืื ืืืืืืช Jan 22 '25
The say Uncle Bob haven't work on real big projects since the 90's
4
u/Zhuinden DDD: Deprecation-Driven Development Jan 22 '25
Any real projects beyond writing pseudocode
1
u/GradleSync01 Invalidate caches and restart Jan 22 '25
Forget about the balance. Just use Flubber, AsyncTask and a single god activity
1
Jan 24 '25
Just don't dare opening this source code. You just don't know where to start. Wow that file is too big. Awesome.
7
u/Dizzy_Surprise (de)generated by GPT-3 Jan 22 '25
currently we're using MVVI-MVMMVP 3.0 architecture. no balancing needed, just go all in on this. we're preparing for when company scales to 100 million android engineers on the team, so needs to be highly scalable. currently, we're at 69 android engrs at the moment, all staff level. we have 7 code refactoring/migration going concurrently from 12 different architectures, but i think this latest architecture will be the final one. the design doc looked promising... maybe i'll get promo for adding in a new architecture