یادداشت های یه برنامه نویس
280 subscribers
39 photos
3 videos
3 files
80 links
این کانال برای در میان گذاشتن یادداشت ها و تجربیات جالب در مورد برنامه نویسی هست امیدوارم دوست داشته باشین.

@one_programmer

https://t.me/one_programmer

ادمین @EngMohsen

Linkedin:https://www.linkedin.com/in/mohsen-rajabi72
Download Telegram
@one_programmer
یکی از ویژگی های جدید 7 #C

C# 7 - Local Functions
توابع محلی هست که امکان تعریف یک تابع را درون یک متد، فراهم می‌کنند. هدف آن‌ها تدارک توابعی کمکی است که به سایر قسمت‌های کلاس مرتبط نمی‌شوند. برای مثال اگر متدی نیاز به کار با یک private method دیگر را دارد و این متد خصوصی در جای دیگری استفاده نمی‌شود، می‌توان جهت بالابردن خوانایی برنامه و سهولت یافتن متد مرتبط، این متد خصوصی را تبدیل به یک تابع محلی، درون همان متد کرد.
static void Main(string[] args)
{
int Add(int a, int b)
{
return a + b;
}
Console.WriteLine(Add(3, 4));
}

مزیت کار با local functions نسبت به Func delegates محلی 

در قطعه کد فوق، کار انجام شده صرفا استفاده‌ی از یک Syntax جدید نیست؛ بلکه از لحاظ کارآیی نیز سربار کمتری را به همراه دارد. زمانیکه Func Delegates تعریف می‌شوند، کار ایجاد یک anonymous type، وهله سازی و فراخوانی آن‌ها توسط کامپایلر صورت می‌گیرد. اما حین کار با توابع محلی، کامپایلر با یک متد استاندارد سروکار دارد و هیچکدام از مراحل یاد شده و سربارهای آن‌ها رخ نمی‌دهند (هیچگونه GC allocation ایی نخواهیم داشت). به علاوه اینبار کامپایلر فرصت in-line تعریف کردن متد را به نحو بهتری یافته و به این ترتیب کار سوئیچ بین متدهای مختلف کاهش پیدا می‌کند که در نهایت سرعت برنامه را افزایش می‌دهند.
@one_programmer
@one_programmer

آمار زبان هایی مثل go, php, python, #c جالبه

لینک پست: https://t.me/one_programmer/115

@one_programmer
@one_programmer
یک سری از مفاهیم به ظاهر ساده هستند که هر روز با اونها سروکار داریم، اما بهتره که درک دقیق تری نسبت بهشون داشته باشیم و هر چند وقت مروری روی اونها داشته باشیم. یک از این مفاهیم انواع داده ای هستند. انواع داده ای با توجه به نحوه ذخیره سازی در حافظه، در #C به دو نوع ReferenceTypes و ValueTypes تقسیم میشن. انواع مقداری از Stack تخصیص داده میشن و مستقیما حاوی دیتا هستند، بعد از تمام شدن scope که توی اون قرار دارند، از stack حذف میشن.اما انواع ارجاعی از Heap تخصیص داده میشن و آدرس مربوط به دیتا رو نگه می دارن. بعد از اتمام scope ای که توی اون قرار دارند، همچنان در حافظه باقی میمونن تا اینکه garbage collecto حذفشون کنه. توی این مقاله مفاهیم، نحوه ذخیره سازی و ارسال اونها به عنوان پارامتر بررسی شده.
https://vrgl.ir/G1nFf

@one_programmer

#vahid_tajari