چرا کاربران به نحوه نوشتن کد اهمیت می دهند؟
در اکتبر 2011، رایان دال یک پست وبلاگ نوشت
با عنوان “من تقریباً از همه نرم افزارها متنفرم” در
که او ادعا می کند:
تنها چیزی که در نرم افزار مهم است تجربه کاربری است.
من کاملاً با این گفته موافقم، اما فکر می کنم فراتر از این است
مفاهیمی که رایان پیشنهاد می کند.
در یک کارفرمای قبلی از من خواسته شد که یک چک باکس و برچسب به آن اضافه کنم
محتوای پاپاور وقتی از من پرسیدند که چقدر طول می کشد، به آن فکر کردم
منطق آن قسمت از برنامه در نمای Backbone بود که بیش از 1000 بود
ردیفها و نمای Backbone دیگری را که بیش از 2000 ردیف طول داشت، گسترش داد.
من تخمین زدم که یک هفته طول بکشد و PM وحشت کرد. این بدتر است
در واقع نزدیک به سه هفته طول کشید. 😱
چرا اینقدر طول کشید؟ کد پشتیبانی نشد. تونستم اضافه کنم
چک باکس به اندازه کافی آسان است، اما دریافت داده ها از کادر انتخاب برای به روز رسانی
مدل یک کابوس بود اگر این کافی نبود، تعداد خطاهایی که وارد کردم
با مثال هک من ترسناک بود زیرا (البته) آن فایل ها لو رفته بودند
انتزاع در همه جا و مطلقاً بدون آزمون.
حال در نظر بگیرید که آیا کامپوننت با آن ساخته شده است یا خیر
اصول برنامه نویسی SOLID
(DRY، SRP، و غیره، و غیره). من احتمالاً می توانم این ویژگی را در یک روز یا بیشتر به پایان برسانم
کمتر
بنابراین، آیا نحوه نوشتن کد برنامه بر کاربر نهایی تأثیر گذاشته است؟ می توانید شرط بندی کنید. آیا شما
آیا کاربران نگران این هستند که هفتهها، نه روزها، برای ویژگی جدید منتظر بمانند؟
بله، آنها کاملاً اهمیت دادند.
پس بله، درست است. تنها چیزی که در نرم افزار اهمیت دارد تجربه است
کاربر ما کامپیوترها را برای بهبود زندگی خود و اگر نرم افزار هستیم ایجاد کردیم
استفاده این کار را نمی کند، سپس شکست می خورد.
تجربه کاربری به طور غیرمستقیم اما به شدت با نحوه ساخت ما مرتبط است
نرم افزار
بنابراین سوال بزرگ: آیا برای کاربر مهم است که از جدیدترین JS استفاده کنیم؟
چارچوب، ابزار ساخت، const در مقابل let، نقطه ویرگول، تب ها، استراتژی ادغام git،
یا یک سرویس استقرار خاص؟ البته نه!
معیار موفقیت ما باید این باشد که چقدر آنچه را که کاربر می خواهد ارائه می کنیم (و
نه بیشتر). انتخاب ابزار ما باید بر اساس این هدف اولیه باشد.
در عین حال، آخرین فناوری و UX خوب متقابل نیستند. را
جدیدترین و بهترین تکنولوژی می تواند راهی عالی برای رسیدن به این هدف باشد.
پس چرا این مهم است؟
ما بی وقفه زمان را برای بحث در مورد نکاتی که تأثیر کمی دارند تلف می کنیم
باید از یک نقطه ویرگول در جاوا اسکریپت خود استفاده کنیم (خیر) یا برای چند فاصله از آن استفاده کنیم
تورفتگی (دو)، اما در عوض باید روی راه حل های فنی تمرکز کنیم که a
تاثیر قابل توجه: الگوهای طراحی جامد، پرز (فقط قوانین خوب لطفا)،
آزمایش، ادغام مداوم، تحویل و استقرار. این انتخابات هستند
پایه و اساس برنامه ای که تجربه کاربری با کیفیتی را ارائه می دهد. یک برنامه عالی هرگز نیست
واقعا کامل الزامات تغییر می کند و انتخاب های ما به عنوان توسعه دهندگان تعیین می کند که چگونه
ما می توانیم به راحتی و به سرعت ویژگی های جدید را در حین نگهداری ارائه دهیم
محصول تا حد امکان جلا داده شده است.
بهینه سازی برای تغییر
بنابراین بله، کاربران ما واقعاً اهمیتی نمیدهند که چگونه برنامه خود را میسازیم یا هر چیز دیگری
انتزاعاتی که در این کار استفاده می کنیم. به یاد داشته باشید، ما از جاوا اسکریپت و وب استفاده می کنیم
زیرا با آنها میتوانیم تجربهای عالی برای کاربری که این کار را نمیکند فراهم کنیم
می خواهید برنامه ما را دانلود، نصب و به طور مرتب به روز کنید. اگر دیگری پیدا کنیم
راه حل برای دستیابی به این بهتر، همه ما کشتی را رها می کنیم.
تجربه کاربری بسیار بیشتر از عملکردهای اولیه است. چطوری
برنامه نوشته شده، ساخته شده و مستقر شده است می تواند تفاوت بزرگی ایجاد کند.
نکته اصلی برای شما در اینجا این است که باید در مورد کاری که انجام می دهید عمدی باشید
وقت خود را صرف بحث کنید پشت هر نظری که محکم نگه دارید، مطمئن شوید
نظر شما بر اساس بهترین چیز برای افرادی است که از نرم افزار شما استفاده می کنند. اگر
این نیست (یا اگر آن ارتباط ضعیف باشد)، ممکن است ارزش بحث کردن را نداشته باشد
در مورد
من فقط این را اضافه می کنم زیرا باید: حذف کنم eslint-config-react و
eslint-config-airbnb و استفاده کنید eslint-config-react-app در عوض همچنین … استفاده کنید
زیباتر…
یک تشکر بزرگ به ویژه از افرادی که در بررسی و ویرایش این پست کمک کردند
کایل رابینسون برای اینکه اساساً در مقاله حضور داشت
ویرایشگر



