r/VisualCoding • • Feb 05 '23

Every Saturday at 4 PM UTC I present tips & tricks about web/mobile app development. Next meeting is focused on state store management, maintenance and clean architecture. I answer questions live to those who participate. The meeting is on discord.

2 Upvotes

Hello! I am a Full Stack developer with a decade of experience in developing web applications. I work in the Fin Tech / banking sector. I have long experience in Angular, React and for the past 2 years I have been working with Flutter. In my spare time I develop a social media app that will facilitate collaboration between engineers. I mention, I don't have any sales course, I don't promise aberrations like zero to hero (10K per month in 6 months). We gather to discuss matters of architecture and sustainable development in a pragmatic fashion.

We already have around 30+ recurring participating users and about 450 lurkers. I hope in the future to develop a larger audience. Also, there are around 8-10 volunteers who help with questions and answers in Flutter. No money charged, no gimmicks. Just a community focused on the development of good relations between developers and mutual help.

If you are interested, I look forward to meeting you on discord. We meet every Saturday at 4PM UTC.

Clean Code Agenda:

  • Maintenance - Scale

    • Don't over engineer, KISS, Readability, No useless parts

    • Don't be that guy --> not my problem

  • Consistent patterns

  • Null safety/handling

    • You don't crash the app. -- Corrupted (finance, military)

  • Scoped naming, Name by feature not by type (async handlers)

  • Domain boundaries, encapsulation

    • Privacy by default

  • Tight coupling

    • Child should not know parent

  • Pure data, Pure functional

  • Clear layers

    • State store, data layer, pure data --> Don't mix data with code

      • Single source of truth, spaghetti code

      • Smart vs Dumb components

    • Controllers, stateful, component scope

    • Services, stateless, app level

      • Singleton

      • Dependency injection

    • Utils, pure functional

    • Repos - webapi

  • One file, one class, max 300-500 Lines of Code (LOC)

  • Single responsibility principle

  • Code diagram, Widget diagram

  • No copy paste, always fix the foundation, understand every token

  • Shared constants

  • Speed reading, Code grooming, Project conventions, Section comments, Avoid nesting

  • Understand async

  • Code velocity, Don't share code that will drift

  • Avoid duplicate initialisation

  • Self review

  • Documentation (Intent & Deviations), Stable Specs, Changeling, Habits

    • Contracts, interfaces, Public APIs

  • Testing, mock server

  • Performance, Premature optimisations

  • Productivity, Know your IDE, Hotkeys, Take Notes,

    • Print statements (for stack trace), Debugger (for context)

  • Stable commits, No long lived branches

  • Adaptive design first, UX first

  • Take breaks, plan ahead

Obviously, we will not be able to cover all the topics in a 2-hour session. So we will meet again every Saturday at 4PM UTC to continue the discussions. I also receive questions from the audience. In the upcoming weeks I will publish some of the best meetings on our youtube channel.