0101
3 subscribers
53 photos
4 videos
4 files
29 links
Download Telegram
این Api یعنی چی؟!

رابط برنامه‌نویسی نرم‌افزار application programming interface

ساده بگم: API یه پل ارتباطیه بین دو نرم‌افزار یا دو سیستم که اجازه می‌ده با هم ارتباط برقرار کنن و داده رد و بدل کنن بدون اینکه نیاز باشه طرف مقابل رو کامل بشناسن یا ببینن چجوری کار می‌کنه. 😔

#api
🛠️
👨🏻‍💻 معرفی ۵۰ کانال یوتوب برای آموزش برنامه نویسی در تمام زمینه ها


💎
بلکه به درد بخوره

🫧
Code Like a Pro in Rust
Code Like a Pro in Rust - DevTwitter.pdf
10.7 MB
#Rust

Code Like a Pro in Rust

Explore the latest features of Rust 2018 for building fast and
secure apps


- By Brenden Matthews
- 265 Pages

@DevTwitter
🟢 5علامت که نشون میده داری مسیر رو درست میری (در برنامه نویسی)

🦜
توی مهندسی نرم افزار و کلا ساخت نرم افزار باید مکانیزمی رو داشته باشید که شکست ها تاوان سختی نداشته باشن

اصل کلی:
Fail fast, fail safe, fail cheap.

قسمت اول یعنی شکست زود اتفاق بیفته، نه آخر پروژه.
قسمت دوم یعنی شکست باعث خرابی کل سیستم نشه.
قسمت سوم یعنی هزینه‌ی زمانی، مالی یا ذهنی کمی داشته باشه


🦓
به اون کاری که امروز کردی نگو "ریفکتور" (Refactor). اگه تست نداره، اون فقط یه "گندکاریِ تمیزه".
این فقط یه جمله‌ی قشنگ نیست؛ این یه زخمه که من هنوز یادمه.
اوایل کارم، میخواستم قهرمان باشم. ‍️ تو یه پروژه‌ی لگسی، یه "God Function" هزار خطی پیدا کردم و گفتم: "من اینو تمیز میکنم!"
نشستم و تیکه‌تیکه‌اش کردم. ۵۰ تا تابع کوچولوی تر و تمیز. اصل DRY رو پیاده کردم. ظاهر کد عالی شد. "تمیز" و "حرفه‌ای". احساس غرور میکردم.
مشکل چی بود؟ اون کد اصلی لعنتی، یه دونه هم تست خودکار نداشت.
اونجا بود که فاجعه اتفاق افتاد. کاری که من انجام دادم، "ریفکتور" نبود؛ "تغییر دادنِ کورکورانه" بود.
اون کد "تمیز" من، چند تا باگ جدید و پنهان داشت. چرا؟ چون اون "کد اسپاگتی" زشت، پر از منطق‌های تجاری پنهان و وابستگی‌های زمانی بود که فقط تو همون حالت کار میکرد.
من "بدهی فنی" رو پرداخت نکردم؛ من یه بدهی کم‌بهره (مثل تکرار کد که فهمیدنش ساده بود) رو برداشتم و با یه بدهی پربهره (مثل یه "انتزاع اشتباه" که حالا دیباگ کردنش غیرممکنه) عوض کردم.
این "تله‌ی کد تمیز"ئه. مهم‌ترین تعریفی که تو این صنعت باید بلد باشیم مال مایکل فدرز (Michael Feathers) ئه: "کد لگسی، کدیه که تست نداره." همین.
تو یه سیستم لگسی، قانون اول "تمیز کن" نیست. قانون اول اینه: "اول امنش کن." برو "تست‌های مشخصه‌یابی" (Characterization Tests) بنویس تا رفتار فعلیِ سیستم (با همه‌ی باگ‌هاش) رو قفل کنی. وقتی اون تور ایمنی رو ساختی، اونوقت حق داری که شروع به تمیزکاری کنی.

🦓
🌷