تنظیم وضعیتها و دلایل
هدف
طراحی چرخهٔ عمر یک جدول: وضعیتهایی که یکی از رکوردهایش میتواند در آن باشد، و دلایلی که به هر یک از آنها میرساند.
پیشنیازها
- با نقش سازنده وارد شدهاید و راهحلِ جدول باز است.
هر جدول از پیش اینها را دارد
هنگام ساخت جدول، دو فیلد به آن داده میشود — وضعیت و دلیل — که از پیش فعال و غیرفعال را در خود دارند. شما آنها را نمیافزایید و نمیتوانید حذفشان کنید.
این عمدی است. نمایی که فقط رکوردهای باز را نشان میدهد و قاعدهای که از دست زدن به رکورد بسته خودداری میکند، هر دو به جایی برای نگاه کردن نیاز دارند — و باید روی هر جدول همان جا باشد. اگر نمیخواهید کاربران ببینندشان، آنها را روی فرم نگذارید؛ فیلدها سر جایشان میمانند.
رکوردهای تازه در نخستین وضعیت آغاز میشوند (فعال، مگر آنکه ترتیب را عوض کنید) با دلیل پیشفرض همان وضعیت.
گامها
-
جدول را باز کنید و در ناوبری سمتِ کنار وضعیتها و دلایل را بزنید.
-
نام وضعیت را ویرایش کنید — از جمله فعال و غیرفعال، که تغییر نامشان با شماست.
-
به آن رنگ و نماد بدهید. هر دو اختیاری و مستقل از یکدیگرند. همینهاست که به کسی امکان میدهد فهرستی را با یک نگاه بخواند و ببیند کدام رکوردها هنوز باز هستند، نه اینکه سطر به سطر بخواند؛ پس ارزش تنظیم کردن دارند. نمونهرنگ پنلی از دوازده رنگ سریع روی یک طیف باز میکند — برای سایه روی مربع، برای فام روی نوار بکشید، یا کد هگز را بنویسید؛ پاک کردن رنگ در پایین همان پنل آن را برمیدارد. پاک کردن نماد هم در پاورقی انتخابگر نماد است. هر دو پاککننده درون انتخابگرند، نه ✕ جداگانهای کنار آن.
-
زیر هر وضعیت، دلایلی را که رکورد میتواند به آن سبب در آن وضعیت باشد بیفزایید. معاملهای که غیرفعال است شاید به این دلیل باشد که برنده یا بازنده شده — اینها زیر غیرفعال جای دارند، نه در یک فهرست تخت.
-
دلیل پیشفرض هر وضعیت را برگزینید، یا روی نخستین دلیل بگذارید تا هر کدام که بالاتر است به کار رود.
-
ترتیب وضعیتها را با کشیدن هر وضعیت از دستگیرهٔ ابتدای کارتش عوض کنید، و دلیلهای یک وضعیت را به همان شیوه، از دستگیرهٔ ابتدای سطر هر دلیل. بدون ماوس: تمرکز را روی دستگیره ببرید، با Space آن را بردارید، با کلیدهای جهتدار جابهجایش کنید و دوباره با Space رهایش کنید.
نخستین وضعیت همان است که رکوردهای تازه با آن آغاز میشوند، پس ترتیب وضعیتها یک تصمیم واقعی است، نه صرفاً نمایش. یک دلیل تنها درون وضعیت خودش جابهجا میشود — بردن آن به وضعیتی دیگر ویرایش دیگری است و سکو آن را پشت همین حرکت پنهان نمیکند. جابهجایی هرگز شمارهگذاری را عوض نمیکند: هر وضعیت یا دلیل مقداری را که به آن اختصاص یافته نگه میدارد، پس رکوردهایی که پیشتر آن را دارند بیتأثیر میمانند.
-
ذخیره را بزنید.
دلایل به وضعیتها تعلق دارند
همین بخش است که ارزش فهمیدن دارد. دلیل یک انتخاب مستقل نیست — دقیقاً زیر یک وضعیت مینشیند. روی فرم، تغییر وضعیت بیدرنگ دلایلِ پیشنهادی را عوض میکند و دلیل را به پیشفرض وضعیت تازه میبرد. پیشنهاد «برنده» در حالی که معامله هنوز فعال است بیمعنا بود، پس پلتفرم این کار را نمیکند.
چرا این یک مجموعه گزینه نیست
مجموعه گزینه فهرستی مشترک و قابل استفادهٔ مجدد است که چند جدول میتوانند به آن مقید شوند. چرخهٔ عمر عکس آن است: «فعال» روی یک فاکتور و «فعال» روی یک مخاطب یک انتخاب نیستند، و مشترک بودنش یعنی ویرایش چرخهٔ عمر همهٔ جدولها در یک جا. پس وضعیتها و دلایل روی خودِ جدول زندگی میکنند، با آن ویرایش میشوند و هنگام برونبری راهحل همراهش سفر میکنند.
پشت صحنه چه اتفاقی میافتد
فعال و غیرفعال بهصورت ۰ و ۱ ذخیره میشوند — هر جدول آنها را دارد و همهجا همان معنا را میدهند، پس به فضای نام نیازی ندارند. هر چیزی که شما بیفزایید از بازهٔ خودِ ناشر شما شماره میگیرد (۲۷۰۱۵۰۰۰۰ به بالا) — همان قاعدهای که مجموعهگزینهها دنبال میکنند — تا دو ناشر که یک جدول را گسترش میدهند هرگز نتوانند یک عدد را برای دو معنا بسازند.
یک مقدار هرگز دوباره استفاده نمیشود. وضعیتی را بردارید و دیگری بیفزایید، تازه شمارهای نو میگیرد — چون شاید رکوردی جایی هنوز عدد قدیمی را نگه داشته باشد و دوباره دادنش معنای آن رکورد را بیصدا عوض میکرد.
میتوانید وضعیت یا دلیلی را حتی وقتی رکوردها هنوز از آن استفاده میکنند بردارید. این عمدی است: کسبوکار تغییر میکند و مسدود کردن یک بازطراحی تا زمانی که هر رکورد تاریخی مهاجرت کند، این قابلیت را غیرقابلاستفاده میکرد. رکو ردی که مقدار برداشتهشده را نگه داشته، عدد خامش را نشان میدهد، پس دیده میشود و میتوان درستش کرد.
عیبیابی
- «A table needs at least one State.» — همه را برداشتهاید. رکورد باید چیزی باشد.
- «The default reason for … is not one of its reasons.» — دلیلی که نامزد کردهاید به وضعیت دیگری تعلق دارد. فرم همیشه فقط دلایل وضعیت جاری را پیشنهاد میکند، پس نامزدی بیرون از آنها هرگز به کار نمیآمد.
- «Two states are both called …» — دو وضعیت همنام برای کسی که یکی را برمیگزیند تفکیکناپذیرند.
- «'State' is part of every table's lifecycle and cannot be deleted.» — بهجایش آن را روی فرم نگذارید؛ بخش هر جدول از پیش اینها را دارد در بالا را ببینید.
- رکورد بهجای نام وضعیت یک عدد نشان میدهد. — مقداری را نگه داشته که دیگر روی جدول نیست. آن را روی یکی از وضعیتهای کنونی بگذارید.