
اصطلاحات رایج برنامه نویسی
در این مقاله با مهمترین و پرکاربردترین اصطلاحات برنامه نویسی آشنا خواهید شد. از زبانهای مختلف مثل پایتون، جاوا و جاوااسکریپت گرفته تا مفاهیم شیگرایی، وب و دیتابیس. این اصطلاحات به شما کمک میکنند که بهتر کدنویسی کنید و در تعامل با دیگر برنامه نویسها موفقتر باشید.
اگر تازه وارد دنيای برنامه نويسی شده ايد يا حتی مدتی است در اين حوزه فعاليت می کنيد، حتماً با اصطلاحات زيادی روبرو شده ايد که شايد معنی بعضی از آن ها را ندانيد. آشنايی با اين واژه ها باعث می شود راحت تر مفاهيم را ياد بگيريد، بهتر کد بزنيد و در گفتگو با ديگران سردرگم نشويد. در اين مقاله قصد داريم مهم ترين و پرکاربردترين اصطلاحات برنامه نويسی را به زبان ساده معرفی کنيم. اين اصطلاحات از زبان هايی مثل پایتون، جاوا، جاوااسکريپت، سی شارپ و... جمع آوری شده اند و دانستن آن ها می تواند در هر مسيری از برنامه نويسی که باشيد به دردتان بخورد.
پیشنهاد مطالعه: اصطلاحات هوش مصنوعی
Table of contents [Show]
- 1 اصطلاحات پایه و عمومی برنامه نویسی
- 1. 1 زبان برنامه نويسی (Programming Language)
- 1. 2 کد (Code)
- 1. 3 کامپايلر و مفسر (Compiler / Interpreter)
- 1. 4 الگوريتم (Algorithm)
- 1. 5 ديباگ (Debug)
- 1. 6 بيت و بايت (Bit & Byte)
- 1. 7 دودويی (Binary)
- 1. 8 I/O (ورودی / خروجی)
- 1. 9 سورس کد / کد باینری (Source Code / Binary Code)
- 1. 10 IDE (محیط توسعه يکپارچه)
- 1. 11 اسکریپت (Script)
- 1. 12 کامنت (Comment)
- 1. 13 ثابت (Constant)
- 1. 14 دستور شرطی (Conditional Statement)
- 1. 15 خروجی (Output)
- 1. 16 کتابخانه (Library)
- 1. 17 ماژول (Module)
- 1. 18 ورودی (Input)
- 1. 19 بوگ (Bug)
- 2 اصطلاحات مربوط به ساختار کد و منطق برنامه
- 3 اصطلاحات شی گرایی (OOP)
- 4 اصطلاحات مربوط به توسعه وب
- 4. 1 DOM (Document Object Model)
- 4. 2 API (Application Programming Interface)
- 4. 3 GET و POST
- 4. 4 RESTful
- 4. 5 جاوااسکریپت (JavaScript)
- 4. 6 فریم ورک (Framework)
- 4. 7 فرانت اند (Frontend)
- 4. 8 بک اند (Backend)
- 4. 9 ریسپانسیو (Responsive)
- 4. 10 سشن (Session)
- 4. 11 کوکی (Cookie)
- 4. 12 CSS (Cascading Style Sheets)
- 4. 13 HTML (HyperText Markup Language)
- 4. 14 URL (Uniform Resource Locator)
- 4. 15 هاست و دامنه
- 4. 16 ریسپانسیو دیزاین (Responsive Design)
- 5 اصطلاحات مربوط به دیتابیس و کوئری نویسی
- 5. 1 Database (پایگاه داده)
- 5. 2 Table (جدول)
- 5. 3 Row و Column (ردیف و ستون)
- 5. 4 Query (کوئری)
- 5. 5 CRUD
- 5. 6 Primary Key (کلید اصلی)
- 5. 7 Foreign Key (کلید خارجی)
- 5. 8 Index (ایندکس)
- 5. 9 Join
- 5. 10 Normalization (نرمال سازی)
- 5. 11 Relational Database
- 5. 12 SQL (Structured Query Language)
- 5. 13 Schema
- 5. 14 NULL
- 5. 15 Constraint (محدودیت)
- 5. 16 View
- 6 اصطلاحات کاربردی در توسعه نرم افزار و مهندسی نرم افزار
- 6. 1 Git
- 6. 2 Repository (مخزن)
- 6. 3 Version Control (کنترل نسخه)
- 6. 4 Build
- 6. 5 Deployment (انتشار)
- 6. 6 Agile / Scrum
- 6. 7 Unit Test
- 6. 8 Integration Test
- 6. 9 CI/CD (ادغام و تحویل مداوم)
- 6. 10 Refactor
- 6. 11 Bug
- 6. 12 Feature
- 6. 13 Issue / Ticket
- 6. 14 Pull Request
- 6. 15 Sprint
- 6. 16 Backlog
- 6. 17 Release
- 7 اصطلاحات جالب و اصطلاحات عامیانه بین برنامه نویس ها
- 7. 1 Code Smell (بوی بد کد)
- 7. 2 Spaghetti Code (کد اسپاگتی)
- 7. 3 Rubber Duck Debugging (دیباگ کردن با اردک پلاستیکی)
- 7. 4 Stack Overflow کردن
- 7. 5 DRY (Don’t Repeat Yourself)
- 7. 6 KISS (Keep It Simple, Stupid)
- 7. 7 YAGNI (You Aren’t Gonna Need It)
- 7. 8 Monkey Patch
- 7. 9 Foo / Bar / Baz
- 7. 10 Zombie Code
- 7. 11 Cowboy Coder
اصطلاحات پایه و عمومی برنامه نویسی
اگر به تازگی وارد دنیای برنامه نویسی شده اید، خوب است اول با مفاهیم پایه آشنا شويد. اين اصطلاحات به شما کمک می کنند که بهتر با ساختار زبان های برنامه نويسی و نحوه عملکرد آن ها آشنا شويد. در ادامه چند اصطلاح مهم و پرکاربرد را با هم مرور می کنيم:
زبان برنامه نويسی (Programming Language)
مجموعه ای از قواعد و دستورهاست که برای نوشتن برنامه های کامپيوتری استفاده می شود. مثل پایتون، جاوا، سی شارپ و جاوااسکريپت.
کد (Code)
همان دستورات نوشته شده توسط برنامه نويس است که کامپيوتر آن را اجرا می کند.
کامپايلر و مفسر (Compiler / Interpreter)
کامپايلر برنامه ای است که کل کد را يکباره به زبان ماشين تبديل می کند. اما مفسر خط به خط کد را اجرا می کند.
الگوريتم (Algorithm)
مجموعه ای از مراحل منظم و منطقی است که برای حل يک مسئله به کار می رود.
ديباگ (Debug)
به فرآيند پيدا کردن و رفع خطاهای برنامه گفته می شود.
بيت و بايت (Bit & Byte)
بيت کوچکترين واحد اطلاعات در کامپيوتر است (صفر يا يک). هر ۸ بيت يک بايت را تشکيل می دهد.
دودويی (Binary)
سيستمی است که فقط از عددهای صفر و يک استفاده می کند و پايه تمام پردازش های کامپيوتری است.
I/O (ورودی / خروجی)
مخفف Input/Output است و به دريافت داده (ورودی) و نمايش يا ارسال داده (خروجی) اشاره دارد.
سورس کد / کد باینری (Source Code / Binary Code)
سورس کد کدی است که ما می نويسيم. کد باینری نسخه ای از آن است که برای پردازش در کامپيوتر به زبان صفر و يک ترجمه می شود.
IDE (محیط توسعه يکپارچه)
IDE یک محیط نرمافزاری است که برنامهنویسان برای نوشتن کد، اجرای پروژهها و رفع خطاهای احتمالی از آن استفاده میکنند. از میان ابزارهای محبوب در این زمینه میتوان به Visual Studio Code و PyCharm اشاره کرد.
اسکریپت (Script)
برنامهای سبکتر که معمولاً برای انجام یک کار خاص و ساده نوشته میشود.
کامنت (Comment)
توضیحاتی هستند که داخل کد نوشته میشوند ولی توسط کامپیوتر اجرا نمیشوند. فقط برای کمک به خوانایی کد هستند.
ثابت (Constant)
مشابه متغیر است، ولی مقدار آن در طول اجرای برنامه تغییر نمیکند.
دستور شرطی (Conditional Statement)
اگر... آنگاه... یعنی برنامه بر اساس شرایط خاص، تصمیم بگیرد چه کاری انجام دهد. مثلاً if.
خروجی (Output)
نتیجهای است که برنامه بعد از اجرا به ما نشان میدهد، مثلاً چاپ روی صفحه.
کتابخانه (Library)
مجموعهای از کدهای آماده که میتوانیم در برنامه خود از آنها استفاده کنیم تا کارها را سریعتر انجام دهیم.
ماژول (Module)
فایلی شامل چند تابع یا کلاس است که میتوانیم در پروژههای مختلف استفاده کنیم.
ورودی (Input)
اطلاعاتی که از کاربر یا فایل دریافت میکنیم و برنامه از آن استفاده میکند.
بوگ (Bug)
اشتباه یا خطایی در کد که باعث میشود برنامه درست کار نکند.
پیشنهاد مطالعه: اصطلاحات ارزهای دیجیتال
اصطلاحات مربوط به ساختار کد و منطق برنامه
وقتی شروع به کدنویسی می کنيد، مهم است که با يک سری اصطلاحات آشنا باشيد که مربوط به ساختار و منطق برنامه هستند. اين اصطلاحات کمک می کنند راحت تر کد بنويسيد و بفهميد که هر بخش از برنامه چه کاری انجام می دهد.
متغير
يعنی جايی برای نگه داشتن اطلاعات. مثلاً وقتی می خواهيد اسم يک کاربر يا سن او را ذخيره کنيد، از متغير استفاده می کنيد.
نوع داده
مشخص می کند که متغير شما از چه نوعی است. عدد صحيح، عدد اعشاری، متن، يا فقط درست و غلط (True / False).
آرايه
وقتی بخواهيد چند مقدار را با هم ذخيره کنيد، مثلاً چند اسم، از آرايه استفاده می کنيد.
شيء
يک نوع داده پيشرفته تر است که می تواند هم اطلاعات داشته باشد هم کار انجام بدهد. در برنامه نويسی شي گرا زياد با آن کار می کنيم.
تابع
بخشی از کد است که کاری مشخص انجام می دهد. شما می توانيد آن را بارها صدا بزنيد و دوباره استفاده کنيد.
پارامتر و آرگومان
تابع ها معمولاً ورودی لازم دارند. اسم آن ورودی ها پارامتر است. وقتی تابع را اجرا می کنيد، مقدار واقعی که می فرستيد آرگومان نام دارد.
وقتی می خواهيد برنامه بر اساس يک شرط تصميم بگيرد. مثلاً اگر کاربر رمز درست وارد کرد، وارد شود وگرنه نه.
حلقه
برای تکرار کردن استفاده می شود. مثلاً اگر بخواهيد يک کاری را ۱۰ بار انجام دهيد، از حلقه کمک می گيريد.
شرايط حلقه
مشخص می کند حلقه چه زمانی ادامه پيدا کند و چه زمانی متوقف شود.
بازگشت
وقتی تابع کاری انجام می دهد و بخواهد نتيجه را به شما برگرداند، از return استفاده می شود.
کامنت
توضيحات داخل کد که خود کامپيوتر آن ها را ناديده می گيرد. فقط برای خواناتر شدن کد هستند.
بلوک کد
گروهی از دستورها که با هم اجرا می شوند. مثلاً دستورهای داخل يک تابع يا حلقه.
خطای نحوی
وقتی که دستور را اشتباه بنويسيد و برنامه متوجه نشود، به آن خطای نحوی می گويند.
پیشنهاد ویژه: آموزش بلاکچین
اصطلاحات شی گرایی (OOP)
اگر زبانی که با آن برنامه می نویسید شی گرا باشد، لازم است با مجموعه ای از مفاهیم مهم آشنا شوید. این مفاهیم باعث می شوند برنامه ساختاری منظم تر داشته باشد و بتوانید بخش های مختلف آن را راحت تر مدیریت یا دوباره استفاده کنید.
کلاس (Class)
کلاس به عنوان یک الگو یا قالب کلی برای ساختن اشیاء تعریف می شود. برای مثال اگر بخواهید برنامه ای در مورد خودروها بنویسید، کلاس «خودرو» می تواند ویژگی هایی مثل رنگ، مدل و سرعت داشته باشد.
شیء (Object)
وقتی شما از روی یک کلاس نمونه می سازید، آن نمونه تبدیل به یک شیء می شود. مثلاً اگر کلاس شما «خودرو» باشد، یک «پژو نقره ای» یا «سمند سفید» یک شیء محسوب می شود.
سازنده (Constructor)
تابعی است که هنگام ساختن یک شیء جدید به صورت خودکار اجرا می شود و مقادیر اولیه را برای شیء تنظیم می کند.
وراثت (Inheritance)
زمانی که یک کلاس می تواند ویژگی ها و رفتارهای کلاس دیگری را به ارث ببرد. مثلاً کلاس «ماشین مسابقه ای» می تواند از کلاس «ماشین» ارث بری کند.
چندریختی (Polymorphism)
این قابلیت را فراهم می کند که چند کلاس مختلف بتوانند تابعی با نام یکسان داشته باشند ولی عملکرد آن ها متفاوت باشد.
کپسوله سازی (Encapsulation)
یعنی پنهان کردن جزئیات داخلی یک شیء و فقط در اختیار گذاشتن یک رابط مشخص برای کار با آن. این کار باعث افزایش امنیت و کنترل بهتر می شود.
انتزاع (Abstraction)
یعنی فقط قسمت هایی از شیء یا سیستم را که مورد نیاز است نمایش دهیم و سایر جزئیات را پنهان کنیم. مانند ریموت کنترل که فقط دکمه های آن را می بینید اما نمی دانید درون آن چگونه کار می کند.
اینترفیس (Interface)
نوعی قرارداد است که مشخص می کند چه متدهایی باید در کلاس های دیگر پیاده سازی شوند. خودش پیاده سازی ندارد و فقط تعریف می کند که چه مواردی باید وجود داشته باشند.
متد (Method)
همان تابعی است که در داخل یک کلاس تعریف می شود و عملیاتی را برای آن کلاس انجام می دهد.
ارث بری چندگانه (Multiple Inheritance)
یعنی یک کلاس می تواند از چند کلاس مختلف ارث ببرد. این قابلیت در برخی زبان ها مجاز و در برخی دیگر محدود یا غیرمجاز است.
کلاس انتزاعی (Abstract Class)
کلاسی است که نمی توان به طور مستقیم از آن شیء ساخت، ولی سایر کلاس ها می توانند از آن ارث بری کنند و متدهای آن را کامل کنند.
اصطلاحات مربوط به توسعه وب
اگر شما به طراحی سایت یا ساخت اپلیکیشن های تحت وب علاقه دارید و با زبان هایی مثل HTML، CSS، جاوااسکریپت یا فریم ورک ها کار می کنید، دانستن این اصطلاحات می تواند خیلی به درک بهتر شما از فضای وب کمک کند. این مفاهیم پایه در دنیای توسعه وب بسیار رایج هستند و هر برنامه نویس وب باید با آن ها آشنا باشد.
DOM (Document Object Model)
مدلی از ساختار صفحات وب است که به کمک آن می توان عناصر HTML را با زبان هایی مثل جاوااسکریپت تغییر داد یا به آن ها واکنش نشان داد.
API (Application Programming Interface)
رابطی بین دو نرم افزار مختلف که به آن ها اجازه می دهد با هم ارتباط برقرار کنند. مثلا وقتی سایت شما اطلاعات آب و هوا را از یک سایت دیگر دریافت می کند، از API استفاده می شود.
GET و POST
دو نوع رایج از ارسال اطلاعات بین مرورگر و سرور هستند. GET برای دریافت داده و POST برای ارسال اطلاعات (مثل فرم ها) به کار می رود.
RESTful
یک سبک طراحی برای API ها است که ساده، قابل فهم و قابل استفاده در وب می باشد. بیشتر API های مدرن به صورت RESTful ساخته می شوند.
جاوااسکریپت (JavaScript)
یک زبان برنامه نویسی برای ایجاد رفتار پویا در صفحات وب. مثلاً نمایش پیام، تغییر رنگ دکمه ها، نمایش منوها و موارد مشابه.
فریم ورک (Framework)
کتابخانه یا ساختاری آماده برای توسعه سریع تر. در توسعه وب، فریم ورک هایی مثل React، Vue یا Angular در سمت فرانت اند و فریم ورک هایی مثل Laravel یا Django در سمت بک اند استفاده می شوند.
فرانت اند (Frontend)
بخشی از سایت یا اپلیکیشن که کاربر با آن سر و کار دارد، یعنی ظاهر و طراحی صفحات.
بک اند (Backend)
بخشی از برنامه که در پشت صحنه اجرا می شود، مثل پایگاه داده، پردازش اطلاعات و مدیریت کاربران.
پیشنهاد مطالعه: بهترین زبان برنامه نویسی طراحی سایت
ریسپانسیو (Responsive)
یعنی طراحی سایت به شکلی که در دستگاه های مختلف (مثل موبایل، تبلت یا لپ تاپ) به خوبی نمایش داده شود.
سشن (Session)
اطلاعاتی که سرور برای شناسایی وضعیت فعلی کاربر ذخیره می کند. مثلاً وقتی وارد سایت می شوید و تا زمانی که خارج شوید، سرور شما را به عنوان «وارد شده» می شناسد.
فایل کوچکی است که در مرورگر ذخیره می شود و اطلاعاتی مثل نام کاربری، تنظیمات یا تاریخچه بازدید را نگه می دارد.
CSS (Cascading Style Sheets)
زبان طراحی استایل صفحات وب. با CSS می توان رنگ، اندازه فونت، فاصله ها و طراحی کلی سایت را مشخص کرد.
HTML (HyperText Markup Language)
زبان نشانه گذاری استاندارد برای ساختاردهی محتوای صفحات وب. همه سایت ها با HTML ساخته می شوند.
URL (Uniform Resource Locator)
آدرس اینترنتی هر صفحه یا فایل در وب است. مثلا https://google.com یک URL است.
هاست و دامنه
هاست بخشی از فضای یک سرور است که فایلها و محتوای سایت شما روی آن ذخیره میشود تا کاربران بتوانند به آن دسترسی داشته باشند. دامنه نامی است که کاربران از طریق آن به سایت شما در اینترنت دسترسی پیدا میکنند. (مثل example.com).
ریسپانسیو دیزاین (Responsive Design)
روشی برای طراحی سایت است که باعث می شود ظاهر و عملکرد سایت در همه دستگاه ها مناسب باشد، بدون نیاز به طراحی جداگانه برای موبایل یا دسکتاپ.
اصطلاحات مربوط به دیتابیس و کوئری نویسی
اگر با پایگاه دادهها کار می کنید یا با زبان SQL کوئری می نویسید، دانستن این اصطلاحات برایتان ضروری است. چه تازه کار باشید و چه بخواهید وارد فضای بک اند یا مدیریت داده شوید، این مفاهیم پایه به شما کمک می کنند تا ساختار و نحوه کار دیتابیس ها را بهتر درک کنید.
Database (پایگاه داده)
مکانی برای ذخیره منظم و ساختار یافته اطلاعات. هر نرم افزار یا سایت برای نگهداری اطلاعات کاربران، محصولات، سفارش ها و... از دیتابیس استفاده می کند.
Table (جدول)
داده ها در دیتابیس به صورت جدول ذخیره می شوند. هر جدول شامل ستون ها و ردیف هایی است که اطلاعات را نگه می دارند.
Row و Column (ردیف و ستون)
ستون ها نوع اطلاعات را مشخص می کنند (مثلاً نام، ایمیل، شماره تلفن) و هر ردیف یک رکورد جداگانه از داده است.
Query (کوئری)
دستور یا کوئری مجموعهای از عبارات است که برای مشاهده، وارد کردن، تغییر یا حذف دادهها در پایگاه داده به کار میرود. در زبان SQL این عملیات معمولاً با استفاده از دستورات SELECT، INSERT، UPDATE و DELETE انجام میگیرد.
CRUD
چهار عملیات اصلی در کار با پایگاه داده: Create (ایجاد)، Read (خواندن)، Update (ویرایش) و Delete (حذف).
Primary Key (کلید اصلی)
ستونی در جدول که مقدار آن برای هر ردیف منحصر به فرد است. مثلاً شماره ملی یا آی دی کاربر.
Foreign Key (کلید خارجی)
ستونی که به کلید اصلی جدول دیگری اشاره می کند و برای ارتباط بین جدول ها استفاده می شود.
Index (ایندکس)
ابزاری برای افزایش سرعت جستجو در دیتابیس. مثل فهرست کتاب که کمک می کند سریع تر اطلاعات را پیدا کنیم.
Join
برای ترکیب اطلاعات از چند جدول مختلف استفاده می شود. مثلاً وقتی بخواهید نام مشتری و نام محصول سفارش داده شده را از دو جدول مختلف با هم نمایش دهید.
Normalization (نرمال سازی)
فرآیندی برای سازماندهی جداول و جلوگیری از تکرار داده ها. باعث بهینه سازی فضای ذخیره سازی و افزایش کارایی می شود.
Relational Database
نوعی پایگاه داده که اطلاعات را به صورت جدول های مرتبط با هم نگهداری می کند. مثل MySQL، PostgreSQL و SQL Server.
SQL (Structured Query Language)
زبان استاندارد برای کار با پایگاه داده های رابطه ای است. با استفاده از SQL می توانید داده ها را جستجو، ویرایش یا حذف کنید.
Schema
ساختار کلی پایگاه داده شامل جدول ها، نوع داده ها و روابط بین آن ها.
NULL
مقداری که مشخص می کند یک فیلد خالی یا نامشخص است. به معنای صفر یا رشته خالی نیست.
Constraint (محدودیت)
قوانینی که روی داده ها اعمال می شوند تا مطمئن شویم اطلاعات وارد شده صحیح و معتبر هستند. مثل NOT NULL یا UNIQUE.
View
نوعی جدول مجازی است که نتیجه یک کوئری خاص را نشان می دهد. فقط برای مشاهده استفاده می شود و اطلاعات واقعی ندارد.
پیشنهاد مطالعه: انواع زبان های برنامه نویسی
اصطلاحات کاربردی در توسعه نرم افزار و مهندسی نرم افزار
در فرآیند توسعه یک نرم افزار از مراحل اولیه طراحی و کدنویسی گرفته تا تست، انتشار و نگهداری، اصطلاحات خاصی وجود دارد که دانستن آن ها برای هر برنامه نویس یا توسعه دهنده ضروری است. این مفاهیم کمک می کنند بهتر با تیم کار کنید و چرخه کامل توسعه نرم افزار را درک کنید.
Git
یک سیستم کنترل نسخه است که به شما کمک می کند تغییرات کد را دنبال کنید، برگردید به نسخه های قبلی، و به راحتی با دیگران همکاری کنید.
Repository (مخزن)
مکانی برای ذخیرهسازی کدهای پروژه است که ممکن است روی رایانه شخصی توسعهدهنده قرار داشته باشد یا از پلتفرمهای آنلاین مانند GitHub و GitLab برای این منظور استفاده شود.
Version Control (کنترل نسخه)
سیستمی برای ثبت، مدیریت و پیگیری تغییرات فایل ها. باعث می شود بتوانید نسخه های مختلف پروژه را ببینید و در صورت نیاز برگردید.
Build
فرآیند تبدیل کد خام به خروجی قابل اجرا. مثلاً کدی که نوشته اید به فایل اجرایی تبدیل می شود.
Deployment (انتشار)
فرآیند انتقال نرم افزار از محیط توسعه به محیط واقعی یا سرور نهایی تا کاربران بتوانند از آن استفاده کنند.
Agile / Scrum
روش های مدیریت پروژه چابک هستند که تیم ها را تشویق می کنند در بازه های زمانی کوتاه (اسپرینت) کار کنند، بازخورد بگیرند و پروژه را به صورت تدریجی کامل کنند.
Unit Test
تستی که روی بخش های کوچکی از برنامه (مثل توابع) به صورت جداگانه انجام می شود تا مطمئن شویم درست کار می کنند.
Integration Test
تستی که بررسی می کند بخش های مختلف برنامه بعد از اتصال به هم به درستی کار می کنند.
CI/CD (ادغام و تحویل مداوم)
فرآیندهایی برای اتوماتیک کردن تست، ساخت و انتشار کد. کمک می کند تغییرات سریع و بدون خطا به نسخه نهایی برسند.
Refactor
بازنویسی یا بهینه سازی کد بدون اینکه عملکرد آن تغییر کند. باعث خوانایی، کارایی و نگهداری بهتر برنامه می شود.
Bug
اشتباه یا مشکلی در کد که باعث می شود برنامه درست کار نکند.
Feature
امکانات و قابلیت هایی که در نرم افزار پیاده سازی می شوند.
Issue / Ticket
در سیستم های مدیریت پروژه، هر مشکل، باگ یا درخواست جدید به صورت یک «تیکت» ثبت می شود و وضعیت آن پیگیری می شود.
Pull Request
در Git، وقتی کسی تغییری در کد می دهد و می خواهد آن را به شاخه اصلی اضافه کند، یک درخواست بررسی به تیم می دهد تا قبل از ادغام بررسی شود.
Sprint
بازه زمانی مشخص (معمولاً دو هفته ای) در متد Scrum که در آن تیم روی تعدادی از وظایف تمرکز می کند.
Backlog
لیست کامل وظایف، ویژگی ها یا اشکالاتی که باید در آینده روی آن ها کار شود.
Release
نسخه ای از نرم افزار که برای استفاده عمومی یا مشتری منتشر می شود.
اصطلاحات جالب و اصطلاحات عامیانه بین برنامه نویس ها
در دنیای برنامه نویسی فقط مفاهیم فنی نیست که جریان دارد. اصطلاحات جالب، بامزه و حتی عجیب بسیاری هم بین برنامه نویس ها رواج دارد که خیلی وقت ها در گفت و گوهای روزمره شنیده می شود. این اصطلاحات ممکن است در مستندات رسمی دیده نشوند، اما وقتی وارد فضای واقعی کار شوید، حسابی به دردتان می خورند.
Code Smell (بوی بد کد)
وقتی بخشی از کد نشان می دهد که شاید یک جای کار درست نیست، ولی هنوز به طور واضح خراب نشده است. مثلاً کدی که بیش از حد پیچیده است یا متغیرها اسم مناسب ندارند.
Spaghetti Code (کد اسپاگتی)
کدی که خیلی درهم، بی نظم و سخت برای درک است. مثل یک بشقاب اسپاگتی که نخ ها به هم پیچیده اند! معمولاً وقتی پروژه بدون ساختار درست جلو می رود، این اتفاق می افتد.
Rubber Duck Debugging (دیباگ کردن با اردک پلاستیکی)
یعنی وقتی می خواهید مشکلی را در کد پیدا کنید، شروع می کنید برای یک اردک پلاستیکی (یا هر چیز دیگری!) توضیح دادن که برنامه چه کاری انجام می دهد. همین توضیح دادن باعث می شود خودتان مشکل را متوجه شوید.
Stack Overflow کردن
اشاره به وقتی که یک تابع آن قدر خودش را صدا می زند (بازگشتی بی پایان) که حافظه پشته پر می شود و برنامه کرش می کند. البته این اصطلاح به شوخی هم برای سردرگمی کامل استفاده می شود!
DRY (Don’t Repeat Yourself)
یعنی از تکرار بی مورد در کدنویسی پرهیز کنید. کدی که مدام تکرار شده باشد، نگهداری آن سخت می شود.
KISS (Keep It Simple, Stupid)
یعنی کد را تا جایی که ممکن است ساده و قابل فهم بنویسید. پیچیدگی بی دلیل باعث سخت شدن کار می شود.
YAGNI (You Aren’t Gonna Need It)
یعنی چیزی را که الان به آن نیاز ندارید، ننویسید! خیلی وقت ها برنامه نویس ها چیزهایی را پیاده سازی می کنند که شاید هیچ وقت از آن ها استفاده نشود.
Monkey Patch
وقتی یک کد آماده یا کتابخانه خارجی را در زمان اجرا تغییر می دهید. یک جور وصله پینه عجیب که گاهی کمک می کند، گاهی هم دردسر درست می کند!
کلمه های فرضی که در مثال های برنامه نویسی استفاده می شوند. مثلاً foo = hello فقط یک نمونه است و معنی خاصی ندارد.
Zombie Code
کدی که دیگر از آن استفاده نمی شود ولی همچنان در پروژه باقی مانده است. نه حذف شده، نه اجرا می شود... فقط یک جوری آنجاست!
Cowboy Coder
برنامه نویسی که هر کاری دلش بخواهد انجام می دهد! بدون مستندات، بدون تست و بدون هماهنگی با تیم.
کلام آخر
برای اینکه در مسیر یادگیری برنامه نویسی به خوبی پیش بروید، شناخت اصطلاحات رایج این حوزه بسیار مهم است. این اصطلاحات به شما کمک می کنند بهتر مفاهیم فنی را درک کنید، سریع تر با ابزارهای مختلف آشنا شوید و راحت تر با دیگر برنامه نویس ها ارتباط بگیرید. خیلی از کسانی که تازه وارد این مسیر می شوند، ممکن است در ابتدا با این واژه ها سردرگم شوند. به همین دلیل یکمدرس برنامه نویسی حرفه ای همیشه تاکید دارد که ابتدا باید این پایه ها را به درستی یاد گرفت. اگر این اصطلاحات را به خوبی بشناسید و در تمرین های روزانه خود استفاده کنید، مسیر تبدیل شدن به یک برنامه نویس حرفه ای برایتان هموارتر می شود.

مریم گوهرزاد
مدرس و بنیانگذار هلدینگ آرتا رسانه. برنامه نویس و محقق حوزه بلاکچین




