مقاله : ۱۰ اشتباه برنامه نویسان مبتدی

بهمن ۳, ۱۳۹۱ توسط : سعید

هنگامی که تازه شروع به برنامه نویسی میکنید ، مطمئنا اشتباهات زیادی رو انجام میدید.مشکل اینجاست که شما خوتون هم نمیدونید دارید اشتباه میکنید.در سال اولی که در دانشگاه قرار بود به دانشجوها برنامه نویسی رو آموزش بدم بارها و بارها با این اشتباهات برخورد داشتم.در زیر لیست ۱۰ اشتباهی رو که برنامه نویسان مبتدی مرتکب میشن رو معرفی میکنم تا ازاین به بعد از این اشتباهات دوری کنن.

۱- ترس و عدم اعتماد به نفس

اولین اشتباهی که ممکنه به عنوان یک برنامه نویس مبتدی مرتکب بشید اینه که فکر کنید به قدر کافی خوب و باهوش نیستید و اینکه تفکر غلطی نسبت به برنامه نویسی دارید و نمیتونید هیچ موقع برنامه نویسی رو یاد بگیرید.من باور دارم که هر کسی میتونه حداقل در سطح مبتدی برنامه نویس باشه ، اگر یه مدت برنامه نویسی رو به صورت جدی دنبال کنه. در ابتدا کدها برای شما مثل زبان فضایی ها غیرقابل فهمه، این یک چیز طبعیه! اما قدم به قدم ( bit-by-bit ) با همه قسمتها و کدها آشنا میشید ،سپس وقتی که معنی کدها رو بفهمید میبینید که واقعا همه چیز منطقیه و دیگه ترسی وجود نداره.

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

بر ترس خود غلبه کنید یا ترس بر شما غلبه میکنه!!

پیشنهاد من به برنامه نویسان مبتدی اینه که از ابزار Visual برای کدنویسی استفاده کنن.این کار کمک میکنه که شما از خطاهای تایپی در امان باشید و بتونید مفهوم حلقه ها ، شرط ها و متغیر هارو به خوبی درک کنید. از اینکار برای معرفی برنامه نویسی در مدارس زیاد استفاده میشه.

(مترجم : با این پاراگراف آخرش مخالفم.به نظرم باید برنامه نویسای مبتدی از اول شروع کنن به تایپ کردن و چیزی که خیلی در برنامه نویسی مهمه اینه که یک برنامه نویس باید تایپ ۱۰ انگشتی بلد باشه.به نظرم ابزارهایی مثل Visual studio برای برنامه نویسهای مبتدی خیلی خطرناکه چون تمام ابزارهارو دم دست داره و فقط کافیه drag and drop بشه تا کد مربوطه رو خودش بنویسیه که اینکار به نظرم تفکر برنامه نویسی رو به برنامه نویس مبتدی نمیده و اون رو تنبل بار میاره.)

۲- کد نویسی کثیف

یکی از راههایی که برنامه نویس های با تجربه میتونن به سرعت تشخیص بدن که این کد توسط یک مبتدی نوشته شده همین کد نویسیه کثیفه! کدهایی بدون دندانه گذاری (Indentation ) و استفاده نادرست از خطوط جدید و فضاهای خالی.بعضی از زبانهای برنامه نویسی مثل جاوااسریپت محدودیت زیادی برای چطور نوشتن کدها ندارن.این میتونه برنامه نویس های مبتدی رو به بی نظم نوشتن کدها عادت بده.اینکار یک اشتباهه چون یکی از راههای که ما میتونیم منطق کدهامون نشون بدیم استفاده از دندانه گذاری کدهاست.با استفاده از tab و space میتونیم بفهمیم که یک تابع ، شرط یا حلقه کجا شروع میشه و کجا تموم میشه، برای همین میتونیم تشخیص بدیم که کدهامون در جای درست قرار گرفتن.مثلا جاوااسکریپت اجازه میده یک تابع رو داخل تابع دیگه ایجاد کنیم ،با این قابلیت اگر شما جای بازو بسته کردن آکولاد هارو نمیبینید خیلی راحت میتونه شمارو در محدوده عملکرد توابع و متفغیرها به اشتباه بندازه. قوانینی وجود داره که چطور کدهاتون رو قالب بندی کنید.مهم نیست که از کدوم یکی از این قوانین استفاده میکنید.یکی دیگه از کارهای بد اینه که توضیحات یا comment های زیاد و بی استفاده که هیچ نیازی بهش ندارید رو مینویسید.این کارو همه ما انجام میدیم اما سعی کنید به کدهاتون برگردید و کامنتهای اضافه رو پاک کنید و فقط کامنتهایی رو نگه دارید که لازمه.

۳- استفاده ناهماهنگ از حروف بزرگ و کوچک

بعضی از زبانهای برنامه نویسی به حروف بزرگ و کوچک حساسن یا به اصطلاح case-sensitive هستند و بعضی از زبانها چنین خاصیتی ندارن.به هرحال با هر زبان برنامه نویسی که کار میکنید در استفاده از حروف بزرگ و کوچک در نام متغیرها و توابع ثابت قدم باشید! (یک روش رو پیش بگیرید ). برنامه نویس های مبتدی معمولا یک متغیربا یک حرف بزرگ مثلا :

var Score = 5;

تعریف میکنن اما در بقیه جاهای برنامه به صورت زیر ازش استفاده میکنن :

if(score > 5)

و اعصابشون به هم میریزه که چرا کدشون اجرا نمیشه!به اضافه بعضی از برنامه نویسا وقتی به یک زبان جدید مهاجرت میکنن ،به جای استفاده از قوانین زبان جدید ، قوانین قبلی رو به زبان جدید وارد میکنن.

۴- نام های بی معنی برای توابع و متغیرها

ممکنه به برنامه نویسای جاوا بخندیم که از نامهای طولانی مثل : AbstractSingletonProxyFactoryBean استفاده میکنن.اما به جای نوشتن نامهای کوتاه و بی معنی ، بهتره که از نامهای بلند و قابل توصیف استفاده کنیم.منظور اینکه ، کدهامون واضح تر میشن ، و احتمال اینکه متغیرها و توابع همنام به وجود بیان و باعث گیج شدن شما یا درست کار نکردن کدتون بشن.علاوه بر این که از نامهای بی معنی برای متغیر ها استفاده میکنید ، بدترش اینکه هنگام نوشتن اسم متغیر اشتباه تایپی داشته باشید، هنگامی که کدتون به مشکل برمیخوره نمیتونید به راحتی مشکل تایپی رو پیداکنید و رفعش کنید.یکی دیگه از اشتباهاتی که زیاد از برنامه نویسای مبتدی سر میزنه اینه که از اصطلاحات عامیانه برای نامگذاری متغیرها استفاده میکنن.وقتی که من به کدهای ۸ سال پیشم برمیگردم میبینیم که از این دسته از اشتباهات زیاد کردم.مثلا به جای “numPlayers” از نام “numPlayaz” و به جای “pause” از “pawz” استفاده کردم.(منظورش همینجوری که تلفظ میشه نوشته اسمش رو!!).این روزها من برای خودم قوانین کدنویسی خودم رو استفاده میکنم.مثلا برای نگه داشتن تعدادی از یک چیز داخل یک متغیر از اسم numThings استفاده میکنم.با استفاده از این روشهای نامگذاری وقتی در آینده به سراغ کدهاتون برمیگردید به راحتی میتونید کدهاتون رو بخونید و دیگه نگرانی ندارید.

۵ – کامنت گذاری بیش از حد

من یکی از بزرگترین طرفدارهای مستندسازی شخصی هستم.این مستند سازی شامل توضیحاتی برای کلاس ، متغیرها ، توابع و به طور کلی معماری و نحوه کارکرد برنامه میشه بدون گذاشتن کامنتهای طولانی.این مستند سازی ( کامنت گذاری) برای بقیه کسانیه که بعدا کد شمارو میخوان بخونن و تغییرش بدن.همچنین میتونه برای خودتون هم مفید باشه که در آینده وقتی به کدهاتون که نگاهی میندازید بدونید چی نوشتید.این توضیحات مخصوصا جاهایی به درد میخوره که کدها برای یک کار خاص نوشته شدن و زیاد واضح نیستن.شما نیازی نیست برای همه چیز کامنت بذارید.مثلا :

score += 5; // adds 5 onto the score

نیازی نیست همه کدهایی که نوشتین رو کامنت گذاری کنید بلکه بهتره عملکرد یک تابع یا کلاس رو به شرح بدید و اینکه برنامه ای که نوشتید چجوری کار میکنه.

۶ – قدرت واقعی زبان برنامه نویسی تون رو نمیدونید

برای این مورد نمیشه مبتدی هارو سرزنش کرد، دونستن اینکه یک زبان برنامه نویسی چه قدرتهایی داره نیاز به تجربه داره.اما اگر یک یا دوساله دارید برنامه نویسی میکنید دیگه زمان این رسیده که تعدادی از عملگرهایی رو که کمتر استفاده میشه رو یاد بگیرید، بعضی از این عملگرها واقعا مفیدن.مثلا برای نمونه :

! : این عملگر به معنای NOT یا نقیض.اگر مقدار false بهش بدید برعکسش میکنه :

x = !x;

در بالا اگر در x مقدار false باشه بعد از این عملیات مقدار true داخلش قرار میگیره.

% – این عملگر به معنای درصد نیست و دربیشتر زبانهای برنامه نویسی باقیمانده تقسیم رو بر میگردونه.

عملگر سه تایی با ternary operator : این عملگر شامل یک علامت ” ؟ ” و یک علامت ” : ” است که به ما اجازه میده شرط رو در یک خط چک کنیم :

$lives = isEasy() ? 5 : 3 ;

۷ – گیج شدن بین اصطلاحاتی مثل : زبان ، فریم ورک ، پلتفرم و IDE

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

$('#things')

که مربوط به فریم ورک (کتابخانه) jQuery ـه که کار با جاوااسکریپت رو خیلی خیلی راحت تر میکنه، اما حتمن یادتون باشه که jQuery یک زبان نیست و فقط یک کتابخانه است.یکی دیگه از تصورات غلط اینه که هنگامی که دارید با HTML , CSS , Javascript کار میکنید فکر میکنید این همون IDE هست ، که در واقع IDE به نرم افزاری مثل Dreamweaver ـه که کدهاتون رو میتونید توش ویرایش کنید و …

۸ – با مزایای ابزارهای دیباگ حال نمیکنید (!!)

اگر با یکی از زبانهای برنامه نویسی جاوا ، سی شارپ یا اکشن اسکریپت کار میکنید بهتره که از دیباگر استفاده کنید.این زبانها خطاهای ریزی میدن که با استفاده از دیباگر میتونید به راحتی اشکالات یا باگهای کدتون رو پیدا کنید.اگه با زبانی مثل جاوااسکریپت کار میکنید تا وقتی که یک دیباگر خوب نداشته باشید مجبورید از alert() برای حالات مختلف استفاده کنید.مرورگر کروم یک ابزار به نام Developer Tools داره که میتونید خطاهای کدتون رو ببینید.

۹ – از کارهاتون نسخه پشتیبان تهیه نمیکنید

در لغت نامه برنامه نویسا نباید اصطلاح ” من فقط [x] ساعت از کاری که کردم رو از دست دادم”.تعدادی ابزار خوب برای پشتیبان گیری خود کار و version-control  وجود داره ، که دیگه بهانه ای برای از دست دادن اطلاعاتتون ندارید، حتی اگر کامپیوتر شما دارای نقص سخت افزاری بشه یا منفجر بشه!!من از Dropbox استفاده میکنم که به صورت خودکار از تمام فایلها و فولدرهام پشتیبان میگیره ، همچنین از subversion یا GitHub استفاده کنید.همه این ابزارها بعضی از امکاناتشون رایگانه.

۱۰- فکر میکنید همه چیزو میدونید!

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

۱۱- اشتباه جایزه !!! فکر میکنید که شرط “if” حتما نیاز به مقایسه داره

این تذکر رو در آخرین مرحله بیان کردم تا مطمئن شم این مورد از ذهنتون پاک میشه.حتی بعضی از برنامه نویسای با تجربه تر هم این اشتباه رو مرتکب میشن.کدی مثل کد زیر :

if(myBoolean == true)

یکی از اشتباهاتیه که ممکنه هیچ ضرری نرسونه ، اما این نشون میده که درک درستی از نحوه کارکرد زبانهای برنامه نویسی ندارید.بذارید روشنتون کنم : پرانتزی که بعد از کلمه if میاد باید شامل یک نوع boolean باشه (true یا false).ما در این پرانتز دو مقدار رو مقایسه میکنیم تا به مقدار Boolean برسیم.مثلا :

if(x < 200)

حالا اگر x کوچکتر از ۲۰۰ باشه مقدار true و اگر بزرگتر باشه مقدارش false میشه.حالا اگر ما از قبل یک مقدار از نوع boolean داشته باشیم مثلا myBoolean مبتونیم به تنهایی ازش در شرط if استفاده کنیم

if(myBoolean)

و نیازی نیست اینجوری بنویسیم :

if(myBoolean == true)

(این یه مقدار در PHP یا جاوااسکریپت پیچیده تر میشه وقتی از === استفاده میکنید.)

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

منبع : http://www.netmagazine.com/features/top-10-beginner-programming-mistakes

موفق باشید.

بازدید : ۱۸۳۶۱

بهمن ۳, ۱۳۹۱ @ ۶:۳۱ ب.ظ

سلام.
بسیار عالی بود!
با ذکر منبع و مترجم در سایتم گذاشتم.
اگر مایل به تبادل لینک هستید در بخش نظرات وبسایتم بگید.
سپاس 😉

پاسخ دادن
بهمن ۳, ۱۳۹۱ @ ۱۰:۲۳ ب.ظ

سلام دوست عزیز
لینک شدی. منو با عنوان هیواوب، تلاشی برای وب فارسی! لینک کن. ممنون.

پاسخ دادن
    سعید
    بهمن ۴, ۱۳۹۱ @ ۶:۲۲ ب.ظ

    سلام
    لینک شدی 🙂

    پاسخ دادن
بهمن ۸, ۱۳۹۱ @ ۱:۱۱ ب.ظ

سلام
عالی بود.خیلی ممنون از توضیحات کاملتون

پاسخ دادن
بهمن ۱۹, ۱۳۹۱ @ ۲:۰۹ ب.ظ

باتشکر از دوست عزیزم سعید . بسیار آموزنده و مفید بود .

پاسخ دادن
    سعید
    بهمن ۱۹, ۱۳۹۱ @ ۲:۲۵ ب.ظ

    قربونت حامد جان.لطف داری

    پاسخ دادن
سجاد
بهمن ۲۲, ۱۳۹۱ @ ۳:۲۶ ب.ظ

مرسی … مقاله بسیار خوبی بود

پاسخ دادن
بهمن ۲۶, ۱۳۹۱ @ ۸:۲۶ ق.ظ

بسیار عالی بود . خسته نباشید

پاسخ دادن
م.ر
اسفند ۱۰, ۱۳۹۱ @ ۴:۰۲ ب.ظ

سلام
سایتتون فوق العادست
خسته نباشید
من یه سوال داشتم
میخواستم اگه امکانش هست کمکم کنید
من میخوام تو mysql یه select بزنم و رکورد یکی مونده به آخر و دربیارم
این کوئری هم ORDER BY Date DESC هست

پاسخ دادن
    سعید
    اسفند ۱۲, ۱۳۹۱ @ ۱۲:۳۷ ب.ظ

    سلام
    ممنون
    ببین این کار میکنه :

    $i = 1;
    foreach($a = mysql_fetch_array($res)){
    if($i == 2 )
    break;

    $row = $a ;
    $i++;
    }

    }

    پاسخ دادن
      م.ر
      اسفند ۱۳, ۱۳۹۱ @ ۱۲:۴۰ ق.ظ

      سلام
      ممنون از پاسختون
      کد شمارو هنوز تست نکردم ولی جوابمو بدست آوردم
      کافیه تو کوئری که میگیرم Limit 1,1 بزنم اونوقت یکی مونده به آخر و بهم برمیگردونه order by هم روی date باشه

      پاسخ دادن
ن
فروردین ۷, ۱۳۹۲ @ ۳:۰۸ ب.ظ

سلام
تازه شروع کردم به برنامه نویسی و واقعا ازش میترسم. میدونم که مسخره است!!
مثل ترس از ارتفاع میمونه!!
بعضی وقتها راه حلهایی دارم که خیلی عملی اند ولی میترسم برم پیاده شون کنم. میترسم وقتم تلف بشه و از خودم نا امید بشم.
شده یه کاریتون رو به انجام نرسونین و بعد به خودتون بگین از گیجی خودم بوده؟؟
من همین شرایط رو دارم
دارم تلاشم رو میکنم. از برنامه های کوچیک شروع کردم. شما پیشنهادی برای کمک به من ندارید؟
خودتون وقتی میخواستید اولین بار یه پروژه بزرگ بنویسید، چه جوری به خودتون اعتماد به نفس میدادید؟
ممنون از اینکه شاید کمکم کنید
بابت مقاله تون هم ممنونم. بعضی جمله هاش تاثیرگذار بود

پاسخ دادن
    سعید
    فروردین ۱۱, ۱۳۹۲ @ ۳:۲۵ ب.ظ

    سلام دوست عزیز
    باید بگم که شما تقریبا میدونی مشکلت کجاست.به نظرم مشکلت اینه که اول برای خودت یه پروژه بزرگ تعریف میکنی بعد وسطاش نا امید میشی.بیا این کارو بکن.اول یه پروژه کوچیک انتخاب کن.بعد که تمومش کردی بیا کم کم امکاناتش رو زیاد کن.اینجوری دیگه وسطش نا امید نمیشی.وقتی که یه پروژه بزرگ رو شروع میکنی اولین کار اینه که باید برای خودت ( و به روش خودت) تجزیه تحلیلش کنی.
    مثلا روی کاغذ تمام امکانات رو بنویس و اینکه هر قسمت چجوری باید کار کنه.بعد از یک کنار(از هر جا که راحت تری) شروع کن به نوشتن برنامه.
    امیدوارم کمک کرده باشم.
    موفق باشید

    پاسخ دادن
amen
خرداد ۶, ۱۳۹۲ @ ۱۱:۳۲ ب.ظ

سلا م من برنامه نویس درتقربیا در عرضی شش ماه توانستم با برنامه #C و php ,وcss3 aspو javascriptو
c , ++c برنامه نویس حا یک مشکات برام پیش امد برنامه نویس شی گرا php گیر کردم می خواهیم یاد بکیرد ولی نه کتا ب خوب هست نه فیلم هرچه گشتم پیدا نکردم
راستی می خوا هم بدانم ایا من استعد داردم یانه زبان بالا همه درحد مورد نیاز بلد

پاسخ دادن
amen
خرداد ۶, ۱۳۹۲ @ ۱۱:۳۳ ب.ظ

سلا م من برنامه نویس درتقربیا در عرضی شش ماه توانستم با برنامه #C و php ,وcss3 aspو javascriptو
c , ++c برنامه نویس حا یک مشکات برام پیش امد برنامه نویس شی گرا php کیر کردم می خواهیم یاد بکیرد ولی نه کتا ب خوب هست نه فیلم هرچه گشت پیدا نکردم اگر میشه یک کمک من کنید تا یادش بکیرم
راستی می خوا هم بدانم ایا من استعد داردم یانه زبان بالا همه درحد مورد نیاز بلد

پاسخ دادن
    سعید
    خرداد ۷, ۱۳۹۲ @ ۱۰:۵۰ ق.ظ

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

    پاسخ دادن
مرداد ۱۷, ۱۳۹۲ @ ۱۰:۵۷ ق.ظ

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

سوال اینه که همین پروژه‌های کوچیک رو از کجا بیارم؟
من می‌خوام چیزایی که یاد گرفتم رو تمرین کنم ولی هیچ ایده‌ای ندارم
ممنون می‌شم راهنمایی کنی

پاسخ دادن
    سعید
    مرداد ۱۷, ۱۳۹۲ @ ۷:۰۱ ب.ظ

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

    پاسخ دادن
آذر ۵, ۱۳۹۲ @ ۱۲:۲۱ ب.ظ

سلام
من تو htmlیه فرم درست کردم و phpدادم بهش اما دستورات php را باز میکنه
php:نام فایل form.php

html:

کلا دساتورات اماده را هم که کپی میکنم همینجور میشه و فقط دستورات phpرا نمایش میده چیکار کنم

پاسخ دادن
آذر ۲۵, ۱۳۹۲ @ ۲:۰۴ ب.ظ

سلام. خسته نباشید. متن زیر مشکل داره.
“حالا اگر x کوچکتر از ۲۰۰ باشه مقدار true و اگر کوچکتر باشه مقدارش false میشه”
ممنون

پاسخ دادن
    سعید
    دی ۲, ۱۳۹۲ @ ۱:۰۳ ب.ظ

    سلام
    ممنون از تذکرتون. تصحیح شد

    پاسخ دادن
فروردین ۱۲, ۱۳۹۳ @ ۹:۴۹ ب.ظ

مقاله خوبی بود .

ممنون بابت ترجمه و شیر کردن اون .

موفق باشید

پاسخ دادن
مسیحا
تیر ۲۷, ۱۳۹۳ @ ۱۰:۲۳ ق.ظ

سلام، ممنون!
ای ول عالی بود! بند “۱۰” کاملا در موردم صدق میکنه! خخخخخ

پاسخ دادن
Mr.n04
مرداد ۲۱, ۱۳۹۴ @ ۹:۰۹ ب.ظ

عالی بود ، مرسی . 🙂

پاسخ دادن
حمیدرضا
مهر ۲۱, ۱۳۹۵ @ ۱۰:۳۹ ب.ظ

سلام ممنون بسیار مفید بود

پاسخ دادن

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *


*