به ندرت پیش میاد که افسار کل نرم افزاری که داریم مینویسیم دست خودمون باشه. بلخره کپی پیستی از این ور اون ور باشه یا اضافه کردن یه کتابخونه یک فرد عاشق دنیای متن باز یا حتی گاهی استیل اینه که از سیستمی که بقیه بچه های شرکت زدن استفاده کنیم. توی این فصل میخوایم یادبگیریم که چطور با این جور مواقع تمیز
بهروزرسانی شده در ۳۰ مرداد ۱۴۰۵
واکنش شما به این مطلب:
وزش سنت در گیسوی مدرنیته
جوگیرساختن مخاطب برای خواندن تا ته
به ندرت پیش میاد که افسار کل نرم افزاری که داریم مینویسیم دست خودمون باشه. بلخره کپی پیستی از این ور اون ور باشه یا اضافه کردن یه کتابخونه یک فرد عاشق دنیای متن باز یا حتی گاهی استیل اینه که از سیستمی که بقیه بچه های شرکت زدن استفاده کنیم. توی این فصل میخوایم یادبگیریم که چطور با این جور مواقع تمیز برخورد کنیم.
فصل هشتم – Boundaries
Using Third-Party Code
همیشه اونی که اره کدها و اینترفیس هارو طراحی میکنه سعی میکنه کدی بزنه که جهان شمول باشه و همه بتونن ازش استفاده کنن . اما اون عزیزی که حالا میخواد از این کدها استفاده کنه یک نیاز خاص داره و شاید دقیقا همون کد به کارش نیاد. گاهی توی استفاده از کد ملت نیاز داریم که یک لایه دیگه بهش اضافه کنیم و طبق نیاز های خودمون یه بازنویسی کوچیک انجام بدیم روش. مثلا فرض کنید که هنرمند اولیه کد یه کلاس sensor به ما داده که نوعی map هستش.
Map sensors = new HashMap();
حالا ما هروقت بخوایم همچین چیزی رو به کلاس sensor پاس بدیم اول باید یبار cast کنیم :
Sensor s = (Sensor)sensors.get(sensorId);
این میره رو مخ آدمی. فک کن صدجا میخوای ازش استفاده کنی و هردفه هم باید cast کنی. به خاطر همین کار خفنی که میشه انجام داد اینه که بیای کلاس sensor رو اینطوری بنویسی به راحتی :
public class Sensors {
private Map sensors = new HashMap();
public Sensor getById(String id) {
return (Sensor) sensors.get(id);
}
}
دیگه الان بدون درد وخونریزی میشه هرچقد که بخوای sensor تعریف کنی و لذت ببری !
Exploring and Learning Boundaries
وقتی میخوایم از کد یه بابایی استفاده کنیم به خودمون میگیم که ایول، کلی کار رو این کتابخونه داره برام انجام میده و چقدر من توی زمان صرفه جویی میکنم ععهههه.
ولی خب واقعیت ماجرا اینه که یادگرفتن کدهای ملت ممکنه زمانبر باشه و اینکه بخوای با کدای خودت خوب چفت بشه باید تلاش زیادی بکنی. میفرماید که به جایه اینکه با آزمون و خطا بیای یه کد خارجی رو امتحان کنی ببینی چطوریه تا با صرف زمان زیادی به جواب برسی بیا نیازمندیات از کد رو پیدا کن و واسش تست بنویس. اینکار باعث میشه بعدا هم که به خطایی چیزی برخوردی بفهمی مشکل خودتی و به هنرمند کد بیرونی ناسزا نگی.
Learning Tests Are Better Than Free
خداوکیلی بیاید برای کدهای بیرونی که توی پروژه ازش استفاده میکنید تست بنویسید و مطمئن باشید که هیچ هزینه ای نخواهد داشت بلکه این کمک رو به شما میکنه که وقتی با مشت های گره کرده این تست ها به استقبال ورژن بعدی اون کد بیرونی برید به راحتی میتونید بفهمید که آیا اصن باید ورژنتونو آپدیت کنید یا نه اصلا رو همینی که هستید خوبه و نسخه جدید دیگه نیازهای شما رو پر پر کرده.
Using Code That Does Not Yet Exist
چیزهایی که از کد ملت میدونیم رو از اونهایی که نمیدونیم سوا کنیم. یکجاهایی هست که بهشون برمیخوریم توی کتابخونه های مختلف که هنوز از یک بخشش سر درنمیاریم یا هنوز اون بخش طراحی درستی نشده. اونجاهاس که باید یدونه interface برا دل خودمون بنویسیم تا فعلا کد کار کنه تا بعدا که تونستیم بهترش کنیم.
Clean Boundaries
از جمله چیزهایی که توی این کدهای خارجی رخ میده تغییره. نرم افزار خوب نرم افزاریه که وقتی یه چیزی در درونش تغییر کرد بتونه با کمترین هزینه خودشو وفق بده. وقتی از کد ملت استافده میکنیم حواسمون به این نکته باشه که پسفردا اگر اون کتابخونه تغییر کرد بشه با کمترین تغییر پروژه رو اوکی کرد.
ما تا همین چند سال پیش، اگه میتونستیم یه کد تر و تمیز بنویسیم و روی یکی دو تا فریمورک مسلط بودیم، کارمون راه میافتاد و راحت پیشرفت میکردیم. ولی بیاید روراست باشیم؛ با اومدن این مهمون خونده عزیز که هوش مصنوعی نام داره دیگه قوانین بازی داره تغییر میکنه.توی این پست میخوام از دید یه مدیر فنی تازه کا
تا حالا شده یه لحظه خاص، یه خاطره، یه اتفاق کوچیک، یهو مسیر زندگیتون رو عوض کنه؟ کتاب “قدرت لحظهها” از Chip & Dan Heath دقیقا درباره همین موضوعه: چطور لحظات کوتاهی که هم بهیادماندنی و هم معنادار هستن، میتونن ما رو متحول کنن؟
تا حالا به این فکر کردید چه چیزی یه مدیر رو از یه ناظر ساده، به یه رهبر الهامبخش و تاثیرگذار تبدیل میکنه؟ من همیشه به دنبال پیدا کردن این بودم و خوشحالم که یه منبع عالی پیدا کردم که جواب خیلی از سوالاتم رو داد: کتاب “The Motive: Why So Many Leaders Abdicate Their Most Important Duty” (
دیدگاههای کاربران0
ارسال دیدگاه جدید
برای ثبت دیدگاه ابتدا باید وارد حساب کاربری خود شوید.
ورود / ثبتنامهنوز دیدگاهی برای این مقاله ثبت نشده است.
اولین نفری باشید که دیدگاه خود را به اشتراک میگذارد!