Практычныя прытамулі: Кодаванне агента: Раскладка цыклаў агента
Практычныя прыказкі: Програмаванне агента: Распакоўка цыклаў агента: контракты, пераказы і слоты для коду для команд, якія выкарыстоўваюць гэты шаблон.
Наступныя прытамлівкі паказваюць практычны падход да рэшэння задачы «Програмаванне агента: разбіранне цыклама агента». Акцэнт ставіцца на контракты, пераканальванняя тэсты і месця для вставкі коду, а не на мотывацыйныя аспекты.
struct Latched {
/// The repeating block, as bytes: a period can split a multi-byte
/// character, so this is never treated as text.
block: Vec<u8>,
/// Stream offset just past the last confirmed copy.
end: usize,
/// Copies confirmed so far, counting the ones the warn rung matched.
cycles: usize,
}
Чэрткі для выканання
Этап 0 прытамлівкі па зміцнэнню найбольш эфектыўны, калі яго розглядаць як вимерную плошчу. Запісаўце адна ідеальная версія, адзін прыклад неудачы і прытамлівку па адвярнэнню роботы пры расшырэнні масштаба. Валіце маленькія, тэставаныя елементы замест амаль неконтрольваных скрыптав. Калі якісь крок не выйшаў, прычына неудачы павінна вказываць на адную адпаведальнасць, а не на заплутаны ланцужок дзеянняў.
Дэталі зміцнэння 0/911: вымерыце час выканання, класію каштоўкаў і колькасць токенаў, выкарыстоўваных для гэтай прытамлівкі, а пасля рашыце, чы хацяце застаўіць змяну, стварыўшы фіксаваны набор пытанняў, а не спакойна разглянуўшы адзін прыклад.
Для першага пасэгу з ударожвання неабяжна ўзначыць вхідныя даны, адпаведальнага за крок і критэрыя завершэння пры зміне коду. Аператары должны магчыма ўвайсці крок з вядомага пункта контролю, не спрабоўваючы здагадвацца пра схованы стан. Запісвайце час выконання і вартасьць токена або запыту паляглі разам з функцыйнальнымі рэзультатамі. Відразліва візуабельнасьць вартасцей запобегае неспакоўным рахункам, калі процес пераходзіць з дэмаверсіі ў спяльныя среды.
Дзеянні з ударожвання 1/911: змерыце час выконання, класію паказакоў і витраты токена для гэтага пасэгу, а потым вынікніце, чы хацяце застаўіць зміны, адпаведна фіксаванаму набору пытанняў, а не індывідуальным спазыркам.
Для стадіі 0 пры паўжэйшанні захоўнасці неабходна пазначыць вхідныя даны, адпаведальнага за крок і критэрыя завершэння пры змены коду. Аператары должны магчымае перзапускать крок з вядомай точкі контролю, не прабуючы спадарацца пра схованы стан. Конфігурацыю трэба захаваць праз аплікацыйны код. Файлы сераўіса, хранальнікі секрэтных дадзеных і флагі функцыйяў должны знаходзіцца ў аднам месцы, якое аператары можаць пераглядаць, не чытаючы весь код.
Дзялейны пункт паўжэйшання захоўнасці 0/930: змерыце час выканання, класію адказаў і колькасць выкорыстоўваных токенав для гэтага пункту, а потым вынікніце, чы робіць змену на аднойчынных критэрыях, а не на асоціяцыях.
Калі працюеце над першым этапам зміцнення, спачатку запісайце умовы кантракта: неабяжлівыя даны, сигнал успеху і тое, што выходзіць у разе частковага невыпання. Такі список контроля дапамагае залічыць пазнейшыя змены коду адкрыта і прозрачна. Валіце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок не выйшае, прычына невыпання павінна вказываць на адзін конкрэтны аспект, а не на заплутаны ланцюг задач.
Дзеянне зміцнення 1/930: звярніце увагу на час выканання, класы каштоўкаў і витрату токенав для гэтага пункту, а потым вырашыце, чы робіць змену на адной основе фіксаванага набора пытанняў, а не на адной лячбе.