عمر کوتاه است و آموختنی ها زیاد

پس بهترین ها را بیاموز

رابط Fluent

رابط Fluent یا Fluent interface یک اجرا کننده شی گرا از رابط برنامه نویسی نرم افزار است که باعث خوانا تر شدن کد های نوشته شده می شود.
نمونه در C#:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace fluent
{
    class Person
    {
        public String Name { get; private set; }
        public int Age { get; private set; }

        public Person WithName(String name)
        {
            Name = name;
            return this;
        }

        public Person WithAge(int age)
        {
            Age = age;
            return this;
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            Person Ali = new Person().WithName("Ali").WithAge(16);
            Console.WriteLine("Name:{0}",Ali.Name);
            Console.WriteLine("Age:{0}", Ali.Age);
            Console.ReadKey();
        }
    }
}

نمونه در c++:
#include <iostream>
#include <stdio.h>
#include <string>
using namespace std;

class Person
{
public:
	const char* Name;
	int Age;

	Person WithName(const char* name)
	{
		Name = name;
		return *this;
	}

	Person WithAge(int age)
	{
		Age = age;
		return *this;
	}
};

int main()
{
	Person Ali = Person().WithName("Ali").WithAge(16);
	cout << "Name:" << Ali.Name << "\nAge:" << Ali.Age;
	getchar();
	return 0;
}



۱ نظر موافقین ۰ مخالفین ۰
علی جهانی

دانلود کامپایلر MinGW با نصب آفلاین

دانلود (14MB)فایل MinGW.exe فشرده شده با فرمت 7z نسخه 4.7.2



برای نصب کافیست روی دکمه extract کلیک کنید تا همانجا پوشه ای به نام MinGW درست شود،روی MyComputer کلیک راست کنید و وارد Properties شوید و به بخش Advanced بروید و روی Environment Variables کلیک کنید و در بخش System variables روی path کلیک کنید و Edit را بزنید و در انتها یک ; گذاشته و آدرس فایل bin از MinGW را به آن اضافه کنید.

توجه کنید محلی که کامپایلر در آن وجود دارد فاصله نداشته نباشد.


برای کامپایل فایل cpp از دستور g++ و برای c از دستور gcc استفاده کنید.


نمونه استفاده:

g++ main.cpp -o main.exe
g++ D:\main.cpp -o D:\main.exe
gcc main.c -o main.exe
g++ file.cpp main.cpp -o main.exe


 -l برای اضافه کردن فایل libexample.a

نمونه:

gcc main.c -o main.exe -lgdi32 -lcairo

برای دیباگ کردن از دستور O2 به جای o استفاده کنید و برای ساخت Debug Symbols از دستور -g استفاده کنید.



تغییرات نسخه آفلاین:

1-تنها کامپایلر های c و c++ همراه MinGW است.

2-MSYS حذف شده است.


برای دیباگ کردن:

۱۲ نظر موافقین ۲ مخالفین ۰
علی جهانی

یه سوال جالب

فرض کنید n سکه دارید که m تای آن ها رو هستند.چگونه میتوانید این سکه ها را به دو گروه تقسیم کنید طوری که تعداد رو ها در دو گروه برابر باشد.توجه کنید که چشمان شما بسته است و از مکان سکه های رو خبر ندارید و تنها میتوانید تعدادی سکه را بر عکس کنید.

راهنمایی :به دو گروه m و n-m تایی تقسیم کنید.

۰ نظر موافقین ۰ مخالفین ۰
علی جهانی

الگوریتم های برش چندضلعی

معرفی چند الگوریتم Polygon clipping :

۰ نظر موافقین ۰ مخالفین ۰
علی جهانی

رفرنس های سریع برای زبان های برنامه نویسی

اگر شما هم برنامه نویسی می‌کنید احتمالا برایتان پیش آمده که به هنگام کدنویسی دستور یا تابعی که قبلا استفاده کردید را از خاطر برده باشید. گاهی پیدا کردن دوباره آن دستور یا تابع، تمرکز و وقت مفید شما را می‌گیرد (گاهی هم اعصابتان را حسابی خورد میکند!)

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

مفصل بودن و پراکنده بودن این توابع در کتابها و مراجع آموزشی یکی از دلایل عدم آشنایی عده ای از برنامه نویسان با بعضی از این امکانات آماده در زبان های مورد استفاده‌شان است. بنابراین داشتن رفرنس های سریع و دم دست از این دست امکانات کمک بسیاری به برنامه نویسان می‌کند که خیلی سریع از امکانات موجود مطلع شوند و برنامه های خود را بسیار بهینه تر و سریعتر توسعه دهند.

اینجا رفرنس های سریع برای c ,c++ و اینجا برای دیگر زبان ها

(delphi,ada,c,c#,doxygen,java,php,phython ,و...) است

منبع:codeblog.ir

۰ نظر موافقین ۰ مخالفین ۰
علی جهانی