TDD (اختیاری)
مقدمه
این فاز اختیاری است. برای ادامهٔ مسیر یادگیری Query Builder و SqlKata لازم نیست آن را بخوانید یا انجام دهید. اگر زمان یا علاقه داشتید، میتوانید برای آشنایی با TDD سراغش بیایید.
در این فاز با مفاهیم Test-driven development آشنا میشوید و در صورت تمایل میتوانید Mini Query Builder را با این الگو گسترش دهید.
آشنایی با مبانی TDD
برای درک مفهوم TDD و مراحل آن لینکهای زیر را مطالعه کنید:
- Testing Software: What is TDD?
- Test Driven Development (TDD): The Advantages and Disadvantages
- Introduction to Test Driven Development (TDD)
این دو ویدویو مربوط به TDD را نیز ببنید.
آشنایی بیشتر با اصول SOLID و تاثیر آن بر TDD
در این مرحله، فکر کنید که هر یک از اصول SOLID، چگونه میتواند بر سادهتر شدن روند TDD تاثیر بگذارد. با همتیم ی خود در این مورد بحث کنید.
در ادامه برای درک این موضوع لینکهای زیر را مطالعه کنید:
- SOLID design principles make test-driven development (TDD) faster and easier
- Does test-driven development force me to follow SOLID?
گسترش Mini Query Builder با رویکرد TDD
در این مرحله به Mini Query Builder خود قابلیتی اضافه کنید که امکان مرتبسازی نتیجه را فراهم کند. ورودی مورد انتظار چیزی شبیه این است:
var query = new Query()
.From("Students")
.Select("Id", "Name", "Age")
.Where("IsMale", true)
.OrderBy("Age");
و خروجی
Compile
باید شامل
ORDER BY
روی ستون خواستهشده باشد.
اگر دوست دارید چالش بیشتری داشته باشید، پشتیبانی از جهت مرتبسازی (ASC / DESC) را هم با
TDD
اضافه کنید.
این مرحله را سعی کنید کاملا با رویکرد TDD انجام دهید.
در ادامه...
اگر خواستید، فاز بعد (CI/CD) هم اختیاری است. برای مسیر اصلی میتوانید مستقیم سراغ SqlKata بروید.