زمان دانشگاه سر کلاس های اساتید ارجمند برنامه نویسی که می نشستیم یه اصطلاحی خیلی رو زبون ها میچرخید:

"کد کثیف"

هیچ موقع درکی از اینکه یه کد مگه تمیز و کثیف داره، نداشتم.

بابا داری برنامه تو می نویسی دیگه.کارم میکنه دیگه.چرا میخوای خودتو به زحمت بندازی تمیزش کنی؟!

این توجیه مسخره چندسال باهام بود تا اینکه یه روزی داشتم یه برنامه اندروید می نوشتم(هنوز هم دارم می نویسمش اما تمیزتر :))

تصور کنید توی اکتویتی هام از هردری سخنی به میون اومده بود.

به shared preferences ها دسترسی داشتم.کلی متد anonymous نوشته بودم که ایونت هامو هندل کنه.از طرفی به دیتامدل هایی که از طریق Rest Api پر میشدن تو همون اکتیویتی دسترسی داشتم.

یه روزی حالم بهم خورد دیگه.از خودم نه!از روش کد زنیم تا اینکه عموی معنوی مو پیدا کردم!UncleBob!

به دنبال روش هایی گشتم که کدهامو مرتب کنم.(نه صرفا یه پوشه بندی داشته باشم.اون بیشتر گول زدن خودم بود.یه روش منطقی تر.یه کار اصولی تر)

همیشه یه حسی ته دلم میگفت که داری غلط کد میزنی. یه جای کارت میلنگه.

از طرفی، خیلی قبل ترها با واژه های زیر آشنا شده بودم:

  • design patterns
  • best practices
  • software architechture

اما از اونجایی که وقت مو به بطالت در دانشگاه گذروندم و بعدش هم که فارغ التحصیل شدم وقت مو صرف دو چیز کرده بودم:

  • یادگیری جزییات یه زبان خاص.
  • یاد گرفتن ابزار کار با اون زبان.

هیچ موقع جوابی برای ندای درونم نداشتم.

میگن پزشک ها برای خودشون اصولی دارن.مهندسین معماری.مهندسین معدن و تقریبا تمام رشته های شناخته شده بشری وقتی میخوان کاری رو انجام بدن از یه سری "اصول" تبعیت میکنن.

چرا من به طور غریزی داشتم کد میزنم؟

این سوالات عصبانی م کرده بود.

سرچ کردم..سرچ کردم..سرچ کردم.متوجه شدم باید برای اپلیکیشنم یه معماری داشته باشم.چیزی که بتونه به نرم افزارم قوام بده.اونو تو یه چارچوب مشخص نگه داره و از این چرت و پرت هایی که فقط تو کتابا پیدا میکنید!

تا اینکه با معماری mvp آشنا شدم.برنامه ی آشفته قبلی مو این بار با معماری mvp‌ پیاده کردم.دیگه خبری از کدهای کثیف نبود.برای اولین بار بعد از سال ها به خودم افتخار کردم که میتونم کدی بزنم که اگه بعد 2 ماه بیام بالاسرش، میتونم بفهمم چه غلطی کردم در گذشته!

جالب اینجا بود که هر سرچی درباره mvp میکردم منو به یه نقطه می رسوندن.به اینجا:

https://8thlight.com/blog/uncle-bob/2012/08/13/the-clean-architecture.html

و فردی به نام عمو باب.درباره این فرد سرچ کردم و دیدم کلی سخنرانی باحال طی سال های گذشته داشته.این سخنرانیش به شدت منو شیفته این فرد کرد:https://www.youtube.com/watch?v=asLUTiJJqdE

شما هم ازکدهاتون ناراضی هستین؟

با عمو باب دوست بشین و پای حرفاش بشینید:)