Software Philosophy
3.45K subscribers
160 photos
41 videos
1.54K links
چکیده‌ای از مفاهیم به روز مهندسی نرم افزار برای مهندسین نرم‌افزار.
معماری نوین نرم‌افزار، تکنولوژی‌های برنامه نویسی جدید
Download Telegram
Forwarded from Software Philosophy
حتما برای شما هم پیش آمده که بعد از یادگیری یک موضوع و تسلط بر آن به مطلبی برخورد کنید که با خود فکر کنید کاش در هنگام یادگیری این مطلب را یاد گرفته بودم و تمام این مدت از آن استفاده می‌کردم.

دیوید یو (David Yu) در این مقاله مطالبی را که در مورد reactjs و پس از مدت‌ها کار کردن با آن متوجه شده و آرزو می‌کرده که در آموزش‌‌های اولی reactjs آن‌ها را فرا می‌گرفته، گردآورده است.

هر کدام از ما می‌توانیم چنین لیستی برای موضوعی که به آن تسلط داریم تهیه و منتشر کنیم!

https://bit.ly/30DG9eg



#مریم_کمالی (https://ow.ly/9Wa430mFGeK)

کانال تلگرام:
@SoftwarePhilosophy

___
Forwarded from فلسفه دیزاین
زندگی یک بازیست

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

«استیو راسل» (Steve Russel) کسی بود که اولین بازی دیجیتال جهان را طراحی و کرد. این بازی «جنگ‌های فضایی» یا (Space Wars) نام داشت و کاربر در این بازی با چرخاندن یک سفینه فضایی و تیراندازی، باید جلوی موانعی مثل سفینه‌های فضایی دشمن را می‌گرفتید.

می‌دانیم که غریزه زنده ماندن در انسان‌ها از قوی‌ترین غریزه‌هاست و اگر خوب توجه کنیم ساختار کلی بازی‌ها بر پایه زنده‌ماندن بنا شده‌اند. البته می‌توان گفت هدف اولیه زندگی هم زنده ماندن است.

از زمانی که استفاده از وسائط دیجیتالی مثل لپتاپ‌ها و موبایل‌ها در میان مردم بیشتر و بیشتر شد، رقابت سرویس‌های مختلف بر روی جذابیت و جلب توجه مخاطب هم بیشتر شد.
در مراحل اولیه، این رقابت روی زیبایی بود، پس از مدتی که مفاهیم طراحی دیجیتال نوین، شامل تغییرات، بروزرسانی‌هایی شد، عوامل «کاربردپذیری» و «تجربه کاربری» جلوه خیلی مهم‌تری نسبت به «رابط کاربری» پیدا کردند.

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

برای مثال؛ همینطور که هر روز برای بدست آوردن «پول» تلاش می‌کنیم تا با آن پول‌ها، چیزهایی را تهیه کنیم که زندگی را برای ما ساده می‌کنند، اپلیکیشن دراپ‌باکس هم کاربران را تشویق می‌کرد تا با معرفی کردن دوستانشان به این سرویس، فضای ابری بیشتری بگیرند و همینطور کاربران را به صورت بصری در این مسیر همراهی می‌کرد.
روش‌هایی که معرفی می‌کرد معمولا به هم بی‌ربط بودند اما با نمایش دادن یک خط و ایستگاه‌هایی در مسیر این خط، تلاش می‌کرد تا نشان دهد تمام این «هدف‌های کوچک» به یک «هدف بزرگتر» ختم می‌شوند.

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

در مقاله‌ای که امروز معرفی می‌کنیم، با بازگشتی دوباره به «بازی‌نمایی» با توضیحات خانم «نگین منصوری» درباره «گیمیفیکیشن» و اصول آن همراه می‌شویم.

مقاله امروز را به هیچ‌وجه از دست ندهید.

https://bit.ly/dxgn534

(زمان حدودی مطالعه، ۶ دقیقه)

نویسنده: آرش اصغری

#تجربه_کاربری #گیمیفیکیشن #بازی
@Dexign فلسفه دیزاین


ـــــــ
#پست_مجدد این پست تا به حال بیش از ۱۱۰۰ بار مشاهده شده و به نظر می‌رسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
این روزها از هر راهی در جستجوی جواب این سوال بودم که «چرا آدم‌ها در تیم مخالفتشان را بیان نمی‌کنند» من منتظر بودم دلیل را در فرد سکوت کننده پیدا کنم، اما در اشتباه بودم پاسخ‌های زیادی گرفتم مثل اینکه می‌ترسند، تجربه بدی دارند، حرفشان را بی تاثیر می‌دانند و ...
این مطلب هافینگتون پست فصل‌الخطاب! همه پاسخ هایی بود که پیدا کرده بودم ۷ دلیل که افراد نظرشان را بیان نمی‌کنند که به نظر من هر ۷ مورد در روزمره تیم‌ها قابل مشاهده هستند.

https://www.huffpost.com/entry/the-7-reasons-people-dont_b_8152786?guccounter=1

#مریم_کمالی (https://ow.ly/9Wa430mFGeK)

کانال تلگرام:
@SoftwarePhilosophy

___
#پست_مجدد این پست تا به حال بیش از ۵۰۰۰ بار مشاهده شده و به نظر می‌رسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
اضافه کردن فیچر به نرم‌افزار غالبا ویژگی مثبتی به نظر می‌رسد. ولی وقتی تیمی دارید که قدرت بسیار بالایی دارد اضافه کردن فیچرها با سرعت خیلی زیاد خودش می‌تواند نکات منفی داشته باشد. وقتی قدرت اضافه کردن امکانات با سرعت زیاد دارید باید محتاط باشید که امکانات جدید راه‌حل‌هایی جدید برای یک مسئله حل شده نباشند. داشتن تیم قدرتمند این قدرت را به مدیران می‌دهد که بتوانند سریع ایده‌های ذهنی خود را پیاده‌سازی کنند. در این حین باید مراقب بود این امکانات با هم، همپوشانی نداشته باشند.
مثال زیر از تیم توسعه C# آورده شده‌است که در مورد کاربرد دو امکان این زبان که در نسخه‌های ۵ و ۶ اضافه شد صحبت می‌کند.

https://mehrandvd.me/2016/05/02/steady-consistent-flow-features/

#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd

کانال تلگرام:
@SoftwarePhilosophy



___
Forwarded from فلسفه دیزاین
اصول گشتالت و کاربرد آن در طراحی رابط کاربری

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

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

مکتب "گشتالت" یکی از شناخته‌شده‌ترین مکاتب روانشناسی است که چگونگی ادراک بصری توسط مغز ما را توضیح می‌دهد. طبق این نظریه، کلِ چیزی، متفاوت از مجموع اجزای آن است. مفهوم گشتالت به زبان ساده یعنی ذهن انسان برای درک پدیده‎ها، آن‎ها را به صورت یک کل دریافت می‎کند. به بیان دیگر، با استناد به اصول گشتالت، ذهن در نگاه نخست به جای درک جزء به جزء یک تصویر، در صدد است که یک کلیت از آن ارائه دهد. همین امر سبب می‌شود، برای مثال هنگامی که به ابرها نگاه می‌کنیم، یک تکه ابر را به شکل یک اسب ببینیم و یا هنگامی که به بافت تنه یک درخت نگاه می‌کنیم، چهره یک انسان را در آن ببینیم.

از آن‎جا که زمان ظهور این نظریه مصادف با دوران اوج هنر مدرن است، از همان ابتدا به حوزه طراحی وارد شده و تاکنون جایگاه مهمی در هنر داشته است. شناخت چگونگی عملکرد مغز انسان در ادراک بصری، تاثیر به‌سزایی در طراحی داشته و به شناخت تاثیر المان‌های بصری در موقعیت‌ها و شرایط مختلف کمک خواهد کرد. با تکیه بر اصول گشتالت، می‌توان مفاهیم و معانی مورد نظر را به صورت مؤثرتر و بهتر به مخاطب منتقل و درک مخاطب از محصول را به هدف مورد نظر نزدیک‌تر کرد.

پس با ما همراه باشید تا در این مقاله با اصول گشتالت و کاربرد آن در دیزاین آشنا شویم.

https://bit.ly/dxgn535_1

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

https://bit.ly/dxgn535_2

(زمان حدودی مطالعه: ۱۲ دقیقه)

نویسنده: محمدرضا پناهی

#ادراک_بصری #گشتالت #اصول‌ومبانی #دیزاین

@DEXIGN فلسفه دیزاین

ـــــــــــ
Forwarded from Peivast | پیوست
🔸ملک‌رادار یک موتور جست‌وجوی آگهی‌های املاک است. این استارت‌آپ که کار خود را از سال ۹۵ آغاز کرده، رگ حیاتی‌اش به اینترنت متصل است و بدین ترتیب، قطع شدن اینترنت می‌تواند به منزله یک فاجعه برایش تلقی شود. متن زیر، گزارشی است از آنچه در روزهای قطعی اینترنت بر ملک‌رادار گذشته است:

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

🔹ملک‌رادار، سرویس‌های خود را بر دو بستر بات تلگرامی و اپ تحت وب عرضه می‌کند. با قطع شدن اینترنت، دسترسی کاربران به بات‌های تلگرامی به صورت کامل از بین رفت و از سوی دیگر در ۲۴ ساعت اول پس از قطع شدن اینترنت، اپ تحت وب نیز در دسترس نبود.

🔹در این مدت، قطعی اینترنت، کاهش ۵۰ درصدی آگهی‌های منتشر شده را به همراه داشت. میزان بازدید کاربران از سرویس‌های ملک‌رادار به صورت متوسط، ۸۰ درصد کاهش یافت و پرداخت‌های مشتریان به میزان ۹۰ درصد به نسبت روزهای عادی کاهش یافت.

🆔 @peivast

🔗متن کامل این گزارش را از طریق لینک زیر بخوانید:
https://pvst.ir/melkradar1
#پست_مجدد این پست تا به حال بیش از ۱۲۰۰ بار مشاهده شده و به نظر می‌رسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
برنامه نویس (مهندس نرم افزار) خوب چه ویژگی‌ها و مهارت‌هایی دارد؟

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

در ویدئو زیر ضمن توضیح دقیق‌تر نقش‌های افراد در یک تیم تولید نرم‌افزار، به بیان عناوین برخی از مهمترین مهارت‌های فنی و soft skill اشاره کرده‌ام.

https://youtu.be/uhezZBrfRoU

#امیرحسین_عبدالخالق (https://bit.ly/2n025Rz)

کانال تلگرام:
@SoftwarePhilosophy

___
موضوعی که در صحبت با تعدادی از دوستان معمارم مشاهده کردم این بود که آن‌ها Bounded Context در الگوی DDD رو با میکروسرویس هم ارز می‌دونن که اشتباهه.

توجه داشته باشید که BCیک الگوی متمرکز در طراحی DDD است، بنابراین از خیلی جهات مرز یک BC با مرزبندی رایج در میکروسرویس‌ها به طورکلی متفاوت است . مقاله زیر از مارتین فالور در خصوص مفهوم BC است :

https://martinfowler.com/bliki/BoundedContext.html

و همچنین مقاله زیر در خصوص این تفاوت توضیح نسبتا خوبی می‌دهد :

https://vladikk.com/2018/01/21/bounded-contexts-vs-microservices/


#شهریار_انتظام (https://ow.ly/qDN430nPiCg)

کانال تلگرام:
@SoftwarePhilosophy

___
Forwarded from فلسفه دیزاین
ویژگی‌های یک ارائه الهام‌بخش

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

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

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

بنابراین یکی از مهارت‌های ضروری هر دیزاینر ارائه‌ی کار خود به ذی‌نفعان یک پروژه است. این مهارت آنچنان اهمیت دارد که اگر دیزاینر نتواند کار خود را به شکل الهام‌بخش و تأثیرگذاری پرزنت کند، مراحل بعدی ادامه پیدا نمی‌کنند.

در مقاله‌ای که برای معرفی آماده کرده‌ایم، آقای Christian Beck از چالش‌های ارتباط با مدیران کسب‌وکارها و شیوه‌های موثر در ارائه‌ی دیزاین یک محصول می‌‌‌گوید که برای تمام دیزاینرها می‌تواند مفید باشد.

https://bit.ly/dxgn538

شما با چه چالش‌هایی در ارتباط با مدیران پروژه مواجه شده‌اید؟ و چه روش‌هایی برای حل این مساله در نظر دارید؟
برایمان در بخش نظرات ✏️ بنویسید.

(زمان حدودی مطالعه: ۵ دقیقه)

نویسنده: پریسا حسینی

#مهارت_ارائه #دیزاین #الهام_بخش

@Dexign فلسفه دیزاین

___
#پست_مجدد این پست تا به حال بیش از ۱۰۰۰ بار مشاهده شده و به نظر می‌رسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
ربات ۴ پای «اسپات»، حالا در اختیار برنامه‌نویسان!

حتما تا به حال ویدئوهای زیادی از ربات چهارپای شرکت Boston Dynamics که شبیه به یک سگ است دیده‌اید. رباتی که در شرایط سخت محیطی به خوبی قادر است حرکت کند و در شرایطی که ربات‌های «مبتنی بر چرخ» نمی‌توانند کار کنند این ربات به خوبی کار می‌کند.
حالا خبر جذاب این که شرکت بوستون داینامیکس یه نسخه تجاری از این ربات رو به اسم Spot داره وارد بازار می‌کنه. خبر جذذاب‌تر اینکه این ربات از طریق یک API قابل کنترل هست و در حقیقت دنیای جدیدی به دنیای برنامه‌نویسان اضافه شده!

در حال حاضر پروتکل ارتباطی این ربات از طریق gRPC است و این یعنی وااااااو! از این به بعد به مرور شاهد کاربردهای عجیبی از ربات‌هایی خواهیم بود که برنامه‌نویسان می‌تونن اونها رو کنترل کنند.

ویدئوی زیر، ویدئوی تبلیغاتی هست برای معرفی امکانات ربات اسپات ساخته شده. ببینید و لذت ببرید و آینده رو تصور و تجسم کنید!

خوشحال می‌شم پیش‌بینی‌هاتون از آینده رو بفرستید همینجا...

https://youtu.be/wlkCQXHEgjA


#مهران_داودی (https://ow.ly/GwIl309lFEm)

کانال تلگرام:
@SoftwarePhilosophy

___
انجمن کاربران BSD ایران بستری است برای علاقه ‌مندان به BSD و UNIX تا گرد هم آیند و دانش و تجربیات خود را به اشتراک بگذارند.
ما در پنج‌شنبه آخر هر ماه نشست خواهیم داشت و از دیدار شما عزیزان نیز بسی شادکام و خرسند خواهیم شد.

دیدار نهم انجمن، پنجشنبه ۲۸ آذر ماه ۹۸، ساعت ۱۵:۰۰ تا ۱۸:۰۰ به میزبانی فضای کاری مشترک زاویه (zavie.co) برگزار خواهد شد.
با توجه به قوانین زاویه، برای سهولت کار نگهبانی و مدیریت مجموعه، اسامی شما دوستان باید پیش از گردهمایی برای ایشان ارسال شود. لذا خواهشمند است نام خود را در صورت تمایل برای حضور به نشانی [email protected] ارسال کنید و یا در صورت دشواری برای ارسال ایمیل، با اینجانب به شناسه کاربری @kfvahedi پیام دهید.

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

نشانی: میدان آزادی،‌ ابتدای بزرگراه شهید لشکری، نبش ایستگاه مترو بیمه،‌ کارخانه نوآوری آزادی، فضای کاری مشترک زاویه.

به امید دیدار شما عزیزان،
مدیریت انجمن کاربران BSD ایران
Forwarded from فلسفه دیزاین
صداست که می‌ماند...

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

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

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

https://bit.ly/dxgn539

(زمان حدودی مطالعه: ۱۰ دقیقه)

نویسنده: محمدرضا پناهی

#برندینگ #صدا #هویت_برند
@Dexign فلسفه دیزاین

___
#پست_مجدد این پست تا به حال بیش از ۱۱۰۰ بار مشاهده شده و به نظر می‌رسد برای خوانندگان جدید کانال جذاب باشد.
Forwarded from Software Philosophy
چطور در دنیای نرم افزار بهتر دیده شوید

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

راه‌های مختلفی برای این کار وجود دارد، مثل شرکت کردن در همایش‌ها و کارگاه‌ها که معولا به شبکه سازی بین افراد ختم می‌شود.

علاوه بر اینها، سرویس‌های اینترنتی مختلف این امکان را به شما می‌دهد که به شکل‌های مختلف خود را به افراد دیگر معرفی کنید.

ایجاد وبلاگ با استفاده از سرویس های مختلف، انتشار پادکست، و یا تولید ویدئو و قرار دادن آن در سرویس‌های مخصوص این کار، همه و همه بستری را فراهم می‌کنند تا شما بهتر دیده شوید.

فقط لازم است بدانید چطور از این ابزار درست استفاده کنید.

https://youtu.be/AN7QuLDVylc

#امیرحسین_عبدالخالق (https://bit.ly/2n025Rz)

کانال تلگرام:
@SoftwarePhilosophy

___
EXACT INSTRUCTIONS

پیشنهاد می‌کنم اول فیلم رو ببنید بعد بقیه مطلب رو بخونید.

https://www.youtube.com/watch?reload=9&v=Ct-lOOUqmyY

خیلی جالب بود و در نگاه اول هیچ ربطی به نرم‌افزار و دنیای نرم‌افزار نداره. ولی وقتی یه خورده عمیق بشیم خیلی جالب میشه.

یکی از مهم‌ترین کارهایی که باید توی شرکت‌های نرم‌افزاری به درستی انجام بشه، داکیومنت کردن است. (داکیومنت به معنی کامنت گذاشتن داخل کد اصلا منظورم نیست، کد باید خودش به قدری خوانا باشه که نیاز به کامنت نداشته باشه یا به اصطلاح Self-Document باشه.)
داکیومنت کردن رو نباید به عنوان یه کار اضافه دید و سرسری انجامش داد.
تمام مراحل انتقال دانش باید به وسیله داکیومنت انجام بشه. نه به صورت نقل قول و سینه به سینه.

اتفاقی که برای خودم افتاد رو براتون تعریف می‌کنم:
در شرکت کرانه ادمین TFS بودم، و یکی از کارهایی که باید انجام می‌دادم و داکیومنت می‌کردم Disaster Recovery خود TFSبود. ۱ روز کامل وقت گذاشتم و Recovery رو انجام دادم و داکیومنتش رو نوشتم، کاری که مدیرمون کرد خیلی خوب بود. داکیومنت رو داد به یکی دیگه گفت TFS رو بیار بالا. حدس می‌زنید چی شد؟ نتونست، چون داکیومنتی که نوشته بودم به درد خودم می‌خورد.
و حرفی که به من زد این بود «داکیومنت باید طوری باشه که اگه دست یه نفر رو از توی خیابون گرفتم و این داکیومنت رو بهش دادم بتونه TFS رو بیاره بالا». بعد از ۳ بار داکیومنت نوشتن بالاخره موفق شدم داکیومنتی بنویستم که به هر کی بدمش فقط با Back up دیتا بیس بتونه TFS رو بالا بیاره.

به نظر من داکیومنت باید طوری باشه تا تمام کسانی که می‌خوننش، همشون یک برداشت رو داشته باشن، داکیومنت نباید وابسته به Context ذهن ما باشه.

خوشحال می‌شم نظر شما رو هم بدونم.

#افشین_علیزاده (https://ow.ly/l7cA30m3OQ9)

کانال تلگرام:
@SoftwarePhilosophy

___