خود junit در خود فانکشن unit test میره از سرور دیتا رو واقعا میگیره، عجیب بود برام و نمیدونستم 😭😭😭😭😭😭😭😭😭😭😭😭😭
@developerDiaries
@developerDiaries
برای درک بیشتر Clean Architecture یه پروژه ی شخصی رو در حین انجام چالش #100DaysOfCodeChallange شروع کردم که نتیجه اش شد این ریپو در گیتهاب. این پروژه رو سعی کردم با #TDD و #Jetpack_Compose بزنم. در نتیجه در حین انجامش کلی چیز جدید یاد گرفتم که در محیط کارمم به دردم خورد.
https://github.com/miladv33/Clean-Architecture
@developerDiaries
https://github.com/miladv33/Clean-Architecture
@developerDiaries
GitHub
GitHub - miladv33/Clean-Architecture
Contribute to miladv33/Clean-Architecture development by creating an account on GitHub.
This media is not supported in your browser
VIEW IN TELEGRAM
من دوست دارم اینجوری کتاب رو گوش کنم. خیلی حوصله ام به خوندن نمیکشه و همین باعث شده که خیلی چیزا رو از دست بدم. برای همین چاره ای اندیشیدم 😜 که کتاب رو صوتی گوش کنم
@developerDiaries
@developerDiaries
This media is not supported in your browser
VIEW IN TELEGRAM
ظاهرا مشکلی که در پست قبلی بهش اشاره کردم جهانیه😂 و سایت medium هم اومده یه فکر خوبی براش کرده. 😘👍🙏 چرا من اون دکمه رو اون بالا ندیده بودم؟
@developerDiaries
@developerDiaries
This media is not supported in your browser
VIEW IN TELEGRAM
در فرآیند مهندسی نرم افزار خیلی مهمه که چرخ رو دوباره اختراع نکنیم. استفاده از best practice ها و دیزاین پترن ها بهمون کمک میکنن که کارها رو خیلی ساده تر پیش ببریم. وقتی چرخ رو از اول اختراع میکنیم، هم معماری پیچیده تری برای محصولمون میسازیم و هم توسعه و نگهداری اون در آینده برامون خیلی سخت تره.
@developerDiaries
@developerDiaries
The route to speed is high-quality software, the route to high-quality software is speed of feedback, and the route to both is great engineering.
Modern software engineering, Dave Farley
@developerDiaries
Modern software engineering, Dave Farley
@developerDiaries
In software engineering, coupling is the degree of interdependence between software modules; a measure of how closely connected two routines or modules are;[1] the strength of the relationships between modules.
@developerDiaries
@developerDiaries
دوازده اصل بیانیه ی agile
بالاترین اولویت ما جلب رضایت مشتری با
تحویل زود و مداوم نرم افزاری ارزشمند میباشد
استقبال از تغییر نیازمندی ها، حتی
در اواخر فرآیند توسعه. فرآیند های چابک، تغییر را
در جهت مزیتِ رقابتی مشتری مهار میکنند
تحویل زود به زود نرمافزار قابل استفاده
دو،سه هفته یک بار تا دو ، سه ماه یک بار
با ترجیح بر فاصلههای زمانی کوتاهتر
ذی نفعان کسب و کار و توسعه دهنده ها می بایست به صورت روزانه
در طول پروژه با هم کار کنند
پروژه ها را بر دوش افراد با انگیزه بنا کنید. فضای لازم را
به آنها بدهید و از نیازهای آن ها پشتیبانی کنید وبه
آنها اعتماد کنید تا کارها را انجام دهند
کارآمدترین و موثرترین روش انتقال اطلاعات به تیم توسعه
و تبادل آن در میان اعضای تیم ، گفتگوی چهره به چهره است
نرم افزار قابل استفاده اصلی ترین معیار سنجش پیشرفت است
فرآیند های چابک توسعه پایدار را ترویج می دهند
حامیان مالی , توسعه دهندگان و کاربران باید بتوانند
سرعت پيشرفت ثابتی را براي مدت نامحدودی حفظ كنند
توجه مداوم به برتری فنی و طراحی خوب باعث
افزایش چابکی می شود
سادگی -- هنر به حداکثر رساندن مقدار کار انجام
نشده -- ضروری است
بهترین معماری ها , نیاز مندی ها و طراحی ها از تیم های
خود سازمانده پدید آور می شود
در فواصل منظم , تیم برچگونگی موثرتر شدن تامل وتفکر می نماید
و سپس تیم رفتار خود را بر اساس بازتاب این تفکر تنظیم و هم سو می نماید
@developerDiaries
متن اصلی 👇👇👇
بالاترین اولویت ما جلب رضایت مشتری با
تحویل زود و مداوم نرم افزاری ارزشمند میباشد
استقبال از تغییر نیازمندی ها، حتی
در اواخر فرآیند توسعه. فرآیند های چابک، تغییر را
در جهت مزیتِ رقابتی مشتری مهار میکنند
تحویل زود به زود نرمافزار قابل استفاده
دو،سه هفته یک بار تا دو ، سه ماه یک بار
با ترجیح بر فاصلههای زمانی کوتاهتر
ذی نفعان کسب و کار و توسعه دهنده ها می بایست به صورت روزانه
در طول پروژه با هم کار کنند
پروژه ها را بر دوش افراد با انگیزه بنا کنید. فضای لازم را
به آنها بدهید و از نیازهای آن ها پشتیبانی کنید وبه
آنها اعتماد کنید تا کارها را انجام دهند
کارآمدترین و موثرترین روش انتقال اطلاعات به تیم توسعه
و تبادل آن در میان اعضای تیم ، گفتگوی چهره به چهره است
نرم افزار قابل استفاده اصلی ترین معیار سنجش پیشرفت است
فرآیند های چابک توسعه پایدار را ترویج می دهند
حامیان مالی , توسعه دهندگان و کاربران باید بتوانند
سرعت پيشرفت ثابتی را براي مدت نامحدودی حفظ كنند
توجه مداوم به برتری فنی و طراحی خوب باعث
افزایش چابکی می شود
سادگی -- هنر به حداکثر رساندن مقدار کار انجام
نشده -- ضروری است
بهترین معماری ها , نیاز مندی ها و طراحی ها از تیم های
خود سازمانده پدید آور می شود
در فواصل منظم , تیم برچگونگی موثرتر شدن تامل وتفکر می نماید
و سپس تیم رفتار خود را بر اساس بازتاب این تفکر تنظیم و هم سو می نماید
@developerDiaries
متن اصلی 👇👇👇
Principles behind the Agile Manifesto
We follow these principles:
Our highest priority is to satisfy the customer
through early and continuous delivery
of valuable software.
Welcome changing requirements, even late in
development. Agile processes harness change for
the customer's competitive advantage.
Deliver working software frequently, from a
couple of weeks to a couple of months, with a
preference to the shorter timescale.
Business people and developers must work
together daily throughout the project.
Build projects around motivated individuals.
Give them the environment and support they need,
and trust them to get the job done.
The most efficient and effective method of
conveying information to and within a development
team is face-to-face conversation.
Working software is the primary measure of progress.
Agile processes promote sustainable development.
The sponsors, developers, and users should be able
to maintain a constant pace indefinitely.
Continuous attention to technical excellence
and good design enhances agility.
Simplicity--the art of maximizing the amount
of work not done--is essential.
The best architectures, requirements, and designs
emerge from self-organizing teams.
At regular intervals, the team reflects on how
to become more effective, then tunes and adjusts
its behavior accordingly
@developerDiaries
We follow these principles:
Our highest priority is to satisfy the customer
through early and continuous delivery
of valuable software.
Welcome changing requirements, even late in
development. Agile processes harness change for
the customer's competitive advantage.
Deliver working software frequently, from a
couple of weeks to a couple of months, with a
preference to the shorter timescale.
Business people and developers must work
together daily throughout the project.
Build projects around motivated individuals.
Give them the environment and support they need,
and trust them to get the job done.
The most efficient and effective method of
conveying information to and within a development
team is face-to-face conversation.
Working software is the primary measure of progress.
Agile processes promote sustainable development.
The sponsors, developers, and users should be able
to maintain a constant pace indefinitely.
Continuous attention to technical excellence
and good design enhances agility.
Simplicity--the art of maximizing the amount
of work not done--is essential.
The best architectures, requirements, and designs
emerge from self-organizing teams.
At regular intervals, the team reflects on how
to become more effective, then tunes and adjusts
its behavior accordingly
@developerDiaries