ð» ð hacker-laws
ÐаконÑ, ÑеоÑии, пÑинÑÐ¸Ð¿Ñ Ð¸ модели, коÑоÑÑе полезно знаÑÑ ÑазÑабоÑÑикÑ.
ðºð¸ English Version / ÐеÑÑ?иÑ? на Ð?нглийÑ?ком - оÑигиналÑнаÑ? веÑÑ?иÑ? о Dave Kerr.ð¨ð³ 䏿 / ÐеÑÑ?иÑ? на ÐиÑайÑ?ком - Ñ?паÑ?ибо Steve Xu!ð°ð· íêµì´ / ÐеÑÑ?иÑ? на ÐоÑейÑ?ком - Ñ?паÑ?ибо Doughnut!
- ÐÑ?ÑÑпление
- ÐаконÑ
- Ðакон Ð?мдала
- Ðакон ÐÑÑкÑ?а
- Ðакон ÐонвеÑ?
- Ðакон Ðаннингема
- ЧиÑ?ло ÐанбаÑа
- ÐÑиÑва Ð¥Ñ?нлона
- Ðакон ХоÑÑÑадÑеÑа
- Цикл Ñ Ð°Ð¹Ð¿Ð° и закон Ð?маÑа
- Ðакон ХайÑама (Ðакон неÑ?внÑÑ Ð¸Ð½ÑеÑÑейÑ?ов)
- Ðакон ÐÑÑа
- Ðакон ÐаÑкинÑ?она
- Ðакон ÐÑÑÑа
- Ðакон Ñ?Ð¾Ñ ÑанениÑ? Ñ?ложноÑ?Ñи (закон ТеÑ?леÑа)
- Ðакон негеÑмеÑиÑнÑÑ Ð°Ð±Ñ?ÑÑакÑий
- Ðакон ÑÑивиалÑноÑ?Ñи
- ФилоÑ?оÑиÑ? Unix
- ÐÐ¾Ð´ÐµÐ»Ñ Ð¡Ð¿Ð¾ÑиÑай
- Ðакон ÐадлеÑа
- ÐÑинÑипÑ
- ÐÑинÑип ÐаÑеÑо (ÐÑавило 80/20)
- ÐÑинÑип ÑÑ?ÑойÑивоÑ?Ñи (Ðакон ÐоÑ?Ñела)
- SOLID
- ÐÑинÑип единÑ?Ñвенной оÑвеÑÑ?ÑвенноÑ?Ñи
- ÐÑинÑип оÑкÑÑÑоÑ?Ñи/закÑÑÑоÑ?Ñи
- ÐÑинÑип подÑ?Ñановки ÐиÑ?ков
- ÐÑинÑип ÑазделениÑ? инÑеÑÑейÑ?а
- ÐÑинÑип инвеÑÑ?ии завиÑ?имоÑ?Ñей
- ÐÑинÑип DRY
- ÐÑинÑип YAGNI
- ÐÑинÑип KISS
- СпиÑ?ок лиÑеÑаÑÑÑÑ
- TODO
ÐÑ?ÑÑпление
СÑÑеÑ?ÑвÑÐµÑ Ð¼Ð½Ð¾Ð³Ð¾ законов, коÑоÑÑе лÑди обÑ?ÑждаÑÑ, говоÑÑ? о ÑазÑабоÑке. ÐÑÐ¾Ñ ÑепозиÑоÑий Ñ?обÑал в Ñ?ебе Ñ?Ñ?Ñлки и обзоÑÑ Ð½Ð°Ð¸Ð±Ð¾Ð»ÐµÐµ ÑаÑ?пÑоÑ?ÑÑанÑннÑÑ . ÐожалÑйÑ?Ñа, делиÑеÑ?Ñ Ð¸Ð¼ и пÑиÑ?ÑлайÑе PR'Ñ!
ÐаконÑ
Ð?Ñ, Ð¿Ð¾ÐµÑ Ð°Ð»Ð¸!
Ðакон Ð?мдала
Ðакон Ð?мдала в Ðикипедии
Ðакон Ð?мдала - Ñ?Ñо ÑоÑмÑла, показÑваÑÑаÑ? поÑенÑиал ÑвелиÑениÑ? Ñ?коÑоÑ?Ñи вÑÑиÑ?лиÑелÑнÑÑ Ð·Ð°Ð´Ð°Ñ, коÑоÑого можно доÑ?ÑиÑÑ Ð¿ÑÑÑм ÑвелиÑениÑ? ÑеÑ?ÑÑÑ?ов Ñ?иÑ?ÑемÑ. ÐбÑÑно иÑ?полÑзÑеÑÑ?Ñ? в паÑаллелÑнÑÑ Ð²ÑÑиÑ?лениÑ?Ñ . Ðн Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑедÑ?казаÑÑ ÑеалÑнÑÑ Ð²ÑÐ³Ð¾Ð´Ñ Ð¾Ñ ÑвелиÑениÑ? ÑиÑ?ла пÑоÑеÑ?Ñ?оÑов, ÑÑиÑÑваÑ? огÑаниÑениÑ? ÑаÑ?паÑаллеливаниÑ? пÑогÑаммÑ.
ÐавайÑе длÑ? наглÑ?дноÑ?Ñи пÑиведÑм пÑимеÑ. ÐÑ?ли пÑогÑамма Ñ?оÑ?ÑÐ¾Ð¸Ñ Ð¸Ð· двÑÑ ÑаÑ?Ñей: ÑаÑ?Ñи Ð?, коÑоÑаÑ? должна вÑполнÑ?ÑÑÑ?Ñ? одним пÑоÑеÑ?Ñ?оÑом, и ÑаÑ?Ñи Ð, коÑоÑаÑ? Ð¼Ð¾Ð¶ÐµÑ Ð²ÑполнÑ?ÑÑÑ?Ñ? паÑаллелÑно, Ñогда Ð¼Ñ Ñвидим, ÑÑо добавление неÑ?колÑÐºÐ¸Ñ Ð¿ÑоÑеÑ?Ñ?оÑов в Ñ?иÑ?ÑÐµÐ¼Ñ Ð¼Ð¾Ð¶ÐµÑ Ð¸Ð¼ÐµÑÑ Ð¾Ð³ÑаниÑенное пÑеимÑÑеÑ?Ñво. ÐÑо поÑенÑиалÑно Ð¼Ð¾Ð¶ÐµÑ ÑÑ?коÑиÑÑ Ð²Ñполнение ÑаÑ?Ñи Ð, но Ñ?коÑоÑ?ÑÑ Ð²ÑполнениÑ? ÑаÑ?Ñи Ð? оÑ?ÑанеÑÑ?Ñ? неизменной.
ÐиагÑамма ниже показÑÐ²Ð°ÐµÑ Ð½ÐµÑ?колÑко пÑимеÑов поÑенÑиалÑного ÑвелиÑениÑ? Ñ?коÑоÑ?Ñи:
(ÐÑ?ÑоÑник изобÑажениÑ?: авÑоÑÑ?Ñво Daniels220, взÑ?Ñо из Ð?нглийÑ?кой Ðикипедии, Creative Commons Attribution-Share Alike 3.0 Unported, https://en.wikipedia.org/wiki/File:AmdahlsLaw.svg)
Ðак можно видеÑÑ, пÑогÑамма Ñ? возможноÑ?ÑÑÑ ÑаÑ?паÑаллеливаниÑ? на 50% пÑинеÑ?ÐµÑ Ð¾ÑÐµÐ½Ñ Ð¼Ð°Ð»Ð¾ полÑзÑ, вÑ?его 10 пÑоÑеÑ?Ñ?оÑнÑÑ ÐµÐ´Ð¸Ð½Ð¸Ñ, Ñогда как пÑогÑамма Ñ? возможноÑ?ÑÑÑ ÑаÑ?паÑаллеливаниÑ? на 95% Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑивеÑ?Ñи к знаÑиÑелÑÐ½Ð¾Ð¼Ñ ÑлÑÑÑÐµÐ½Ð¸Ñ Ñ?коÑоÑ?Ñи на более Ñем ÑÑÑ?Ñ?ÑÑ Ð¿ÑоÑеÑ?Ñ?оÑнÑÑ ÐµÐ´Ð¸Ð½Ð¸Ñ.
Ð Ñо вÑемÑ? как Ðакон ÐÑÑа замедлÑ?еÑÑ?Ñ?, а Ñ?коÑоÑ?ÑÑ Ð¾ÑделÑнÑÑ Ð¿ÑоÑеÑ?Ñ?оÑов ÑменÑÑаеÑÑ?Ñ?, ÑаÑ?паÑаллеливание Ñ?влÑ?еÑÑ?Ñ? клÑÑом к повÑÑÐµÐ½Ð¸Ñ Ð¿ÑоизводиÑелÑноÑ?Ñи. ÐÑÐ¾Ð¼Ñ Ð¼Ð¾Ð¶Ð½Ð¾ Ñ?ÑиÑаÑÑ Ð¾ÑлиÑнÑм пÑимеÑом гÑаÑиÑеÑ?кое пÑогÑаммиÑование. C Ñ?овÑеменнÑми вÑÑиÑ?лениÑ?ми на оÑ?нове ÑейдеÑов оÑделÑнÑе пикÑ?ели или ÑÑагменÑÑ Ð¼Ð¾Ð³ÑÑ Ð¾ÑобÑажаÑÑÑ?Ñ? паÑаллелÑно â Ð²Ð¾Ñ Ð¿Ð¾ÑÐµÐ¼Ñ Ñ?овÑеменнÑе гÑаÑиÑеÑ?кие каÑÑÑ ÑаÑ?Ñо имеÑÑ Ð¼Ð½Ð¾Ð³Ð¾ ÑÑÑ?Ñ?Ñ Ð¿ÑоÑеÑ?Ñ?оÑнÑÑ Ñ?Ð´ÐµÑ (гÑаÑиÑеÑ?ÐºÐ¸Ñ Ð¿ÑоÑеÑ?Ñ?оÑов или ÑейдеÑнÑÑ Ð±Ð»Ð¾ÐºÐ¾Ð²).
ЧиÑайÑе Ñакже:
Ðакон ÐÑÑкÑ?а
Ðакон ÐÑÑкÑ?а в Ðикипедии
ÐÑ?ли пÑÐ¾ÐµÐºÑ Ð½Ðµ ÑкладÑваеÑÑ?Ñ? в Ñ?Ñоки, Ñо добавление ÑабоÑей Ñ?Ð¸Ð»Ñ Ð·Ð°Ð´ÐµÑÐ¶Ð¸Ñ ÐµÐ³Ð¾ еÑÑ Ð±Ð¾Ð»ÑÑе.
СÑиÑаеÑÑ?Ñ?, ÑÑо ÑаÑ?Ñо попÑÑка ÑÑ?коÑиÑÑ Ñ?даÑÑ Ð¿ÑоекÑа, не ÑкладÑваÑÑегоÑ?Ñ? в Ñ?Ñоки, за Ñ?ÑÑÑ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ? лÑдей в командÑ, пÑиведÑÑ Ðº еÑÑ Ð±Ð¾Ð»ÐµÐµ Ð¿Ð¾Ð·Ð´Ð½ÐµÐ¼Ñ Ñ?ÑÐ¾ÐºÑ Ñ?даÑи. ÐÑÑкÑ? поÑ?Ñ?нÑ?еÑ, ÑÑо Ñ?Ñо излиÑнее ÑпÑоÑение. Тем не менее, оÑ?новнаÑ? мÑÑ?Ð»Ñ Ð·Ð°ÐºÐ»ÑÑаеÑÑ?Ñ? в Ñом, ÑÑо, Ñ? ÑÑеÑом ÑоÑ?Ñа ÑабоÑего вÑемени пÑогÑаммиÑ?Ñов и издеÑжек коммÑникаÑии, в кÑаÑкоÑ?ÑоÑной пеÑÑ?пекÑиве Ñ?коÑоÑ?ÑÑ Ð·Ð½Ð°ÑиÑелÑно Ñ?нижаеÑÑ?Ñ?.
РаÑ?пÑоÑ?ÑÑанÑнное вÑÑажение «ÐевÑ?ÑÑ Ð¶ÐµÐ½Ñин не могÑÑ Ð²ÑноÑ?иÑÑ ÑебÑнка за один меÑ?Ñ?Ñ» оÑÑ?ÑÐ»Ð°ÐµÑ Ð½Ð°Ñ? как Ñаз к Ð·Ð°ÐºÐ¾Ð½Ñ ÐÑÑкÑ?а. Ð ÑаÑ?ÑноÑ?Ñи, к ÑÐ¾Ð¼Ñ ÑакÑÑ, ÑÑо некоÑоÑÑе Ð²Ð¸Ð´Ñ ÑÐ°Ð±Ð¾Ñ Ð½ÐµÐ»ÑзÑ? поделиÑÑ Ð½Ð° ÑаÑ?Ñи и запаÑаллелиÑÑ.
ÐÑа мÑÑ?Ð»Ñ Ñ?влÑ?еÑÑ?Ñ? ÑенÑÑалÑной Ñемой книги «The Mythical Man Month».
ЧиÑайÑе Ñакже:
Ðакон ÐонвеÑ?
Ðакон ÐонвеÑ? в Ðикипедии
ÐÑÐ¾Ñ Ð·Ð°ÐºÐ¾Ð½ пÑедполагаеÑ, ÑÑо ÑÐµÑ Ð½Ð¸ÑеÑ?кие Ñамки Ñ?иÑ?ÑÐµÐ¼Ñ Ð±ÑдÑÑ Ð¾ÑÑажаÑÑ Ñ?ÑÑÑкÑÑÑÑ Ð¾ÑганизаÑии. ÐбÑÑно его ÑпоминаÑÑ Ð² конÑекÑ?Ñе ÑлÑÑÑениÑ? оÑганизаÑии. Рзаконе ÐонвеÑ? говоÑиÑÑ?Ñ?, ÑÑо, еÑ?ли оÑганизаÑиÑ? Ñазделена на неболÑÑие оÑделÑнÑе командÑ, Ñо и пÑогÑаммное обеÑ?пеÑение бÑÐ´ÐµÑ Ñазделено подобнÑм обÑазом. ÐÑ?ли оÑганизаÑиÑ? вÑÑ?ÑÑоена вокÑÑг «веÑÑикалей», коÑоÑÑе оÑиенÑиÑÐ¾Ð²Ð°Ð½Ñ Ð½Ð° ÑлÑÑÑение и Ñ?еÑвиÑ?, Ñо Ñ?иÑ?Ñема пÑогÑаммного обеÑ?пеÑениÑ? бÑÐ´ÐµÑ Ð¾ÑÑажаÑÑ Ñ?Ñо.
ЧиÑайÑе Ñакже:
Ðакон Ðаннингема
Ðакон Ðаннингема в Ðикипедии
ÐÑÐ¾Ñ Ð·Ð°ÐºÐ¾Ð½ глаÑ?иÑ, ÑÑо «лÑÑÑим Ñ?поÑ?обом полÑÑиÑÑ Ð¿ÑавилÑнÑй оÑÐ²ÐµÑ Ð² ÐнÑеÑнеÑе бÑÐ´ÐµÑ Ð½Ðµ задаваÑÑ Ð²Ð¾Ð¿ÑоÑ?, а ÑазмеÑ?ÑиÑÑ Ð»Ð¾Ð¶Ð½Ñй оÑвеÑ».
Ðакон Ðаннингема можно Ñакже ÑаÑ?Ñ?маÑÑиваÑÑ ÐºÐ°Ðº Ñ?ÐºÐ²Ð¸Ð²Ð°Ð»ÐµÐ½Ñ ÑÑанÑÑзÑ?кой поговоÑки «prêcher le faux pour savoir le vrai» (бÑквалÑно «лгаÑÑ, ÑÑÐ¾Ð±Ñ Ð²ÑÑ?Ñ?ниÑÑ Ð¿ÑавдÑ»). ÐзвеÑ?Ñно, ÑÑо ШеÑлок ХолмÑ? иногда иÑ?полÑзовал Ñ?ÑÐ¾Ñ Ð¿ÑинÑип (напÑимеÑ, в «Ðнаке ÑеÑÑÑÑÑ Â»). РкомикÑ?е xkcd «Ðов долга» (Duty Calls) иÑ?полÑзована Ñ?Ñ Ð¾Ð¶Ð°Ñ? конÑепÑиÑ?.
ЧиÑайÑе Ñакже:
ЧиÑ?ло ÐанбаÑа
ЧиÑ?ло ÐанбаÑа в Ðикипедии
ЧиÑ?ло ÐанбаÑа â огÑаниÑение на колиÑеÑ?Ñво поÑ?ÑоÑ?ннÑÑ Ñ?оÑиалÑнÑÑ Ñ?вÑ?зей, коÑоÑÑе Ñеловек Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾Ð´Ð´ÐµÑживаÑÑ. Ркаждом Ñеловеке, вклÑÑÑнном в Ñ?Ñо ÑиÑ?ло Ñ?вÑ?зей, Ð²Ñ ÑоÑно можеÑе Ñ?казаÑÑ, кÑо Ñ?Ñо и как он Ñ?вÑ?зан Ñ? дÑÑгими лÑдÑми. ÐÑ?ÑÑ ÑазноглаÑ?иÑ? Ñ? ÑоÑнÑм ÑиÑ?лом.
ÐÐ°Ð½Ð±Ð°Ñ Ð¿Ñедполагал, ÑÑо Ñеловек Ð¼Ð¾Ð¶ÐµÑ ÐºÐ¾Ð¼ÑоÑÑно поддеÑживаÑÑ ÑолÑко 150 Ñ?ÑабилÑнÑÑ Ñ?вÑ?зей. Ðн опиÑ?ал жизненнÑÑ Ñ?иÑÑаÑиÑ, коÑоÑаÑ? Ð¿Ð¾Ð¼Ð¾Ð¶ÐµÑ Ð¾Ð¿ÑеделиÑÑ ÑиÑ?ло ÑÐ°ÐºÐ¸Ñ Ñ?вÑ?зей в ваÑей жизни: колиÑеÑ?Ñво лÑдей, коÑоÑÑе не Ñ?мÑÑÑ?Ñ Ð²Ð°Ñ? Ñ?воим поÑ?влением и ÐºÐ¾Ð¼Ñ Ð²Ñ Ð±ÑдеÑе ÑÐ°Ð´Ñ Ð² каÑеÑ?Ñве Ñ?обÑÑÑлÑника, еÑ?ли Ñ?лÑÑайно Ñ?ÑолкнÑÑеÑ?Ñ Ð² баÑе. ÐÑо ÑиÑ?ло бÑÐ´ÐµÑ Ð»ÐµÐ¶Ð°ÑÑ Ð³Ð´Ðµ-Ñо Ð¼ÐµÐ¶Ð´Ñ 100 и 250.
Ðодобно оÑноÑениÑ?м Ð¼ÐµÐ¶Ð´Ñ Ð»ÑдÑми, оÑноÑениÑ? ÑазÑабоÑÑика Ñ? кодовой базой ÑÑебÑÑÑ ÑÑ?илий длÑ? поддеÑжаниÑ?. Ðогда Ð¼Ñ Ñ?ÑалкиваемÑ?Ñ? Ñ? болÑÑим пÑоекÑом или занимаемÑ?Ñ? ведением неÑ?колÑÐºÐ¸Ñ Ð¿ÑоекÑов, Ð¼Ñ Ð¾Ð¿Ð¸ÑаемÑ?Ñ? на Ñ?оглаÑениÑ?, полиÑÐ¸ÐºÑ Ð¸ Ñ?моделиÑованнÑÑ Ð¿ÑоÑедÑÑÑ Ð¼Ð°Ñ?ÑÑабиÑованиÑ?. ЧиÑ?ло ÐанбаÑа важно пÑинимаÑÑ Ð²Ð¾ внимание не ÑолÑко в вопÑоÑ?Ð°Ñ ÑоÑ?Ñа оÑиÑ?а, но и пÑи опÑеделении ÑазмеÑа ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð¸Ð»Ð¸ длÑ? пÑинÑ?ÑиÑ? ÑеÑениÑ? о Ñом, в какой Ð¼Ð¾Ð¼ÐµÐ½Ñ Ñ?ÑÑÑкÑÑÑа должна инвеÑ?ÑиÑоваÑÑ Ð² инÑ?ÑÑÑменÑаÑий длÑ? поддеÑжки и авÑомаÑизаÑии логиÑ?ÑиÑеÑ?ÐºÐ¸Ñ Ð¸Ð·Ð´ÐµÑжек. РконÑекÑ?Ñе ÑабоÑÑ Ð¸Ð½Ð¶ÐµÐ½ÐµÑа ÑиÑ?ло ÑказÑÐ²Ð°ÐµÑ Ð½Ð° колиÑеÑ?Ñво пÑоекÑов (или на ÑÑ?ÑеднÑннÑÑ Ñ?ложноÑ?ÑÑ Ð¾Ð´Ð½Ð¾Ð³Ð¾ пÑоекÑа), коÑоÑÑе Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе ÑвеÑенно поддеÑживаÑÑ ÐµÐ´Ð¸Ð½Ð¾Ð²Ñеменно.
ЧиÑайÑе Ñакже:
ÐÑиÑва Ð¥Ñ?нлона
ÐÑиÑва Ð¥Ñ?нлона в Ðикипедии
Ð?икогда не пÑипиÑ?ÑвайÑе Ð·Ð»Ð¾Ð¼Ñ ÑмÑÑ?Ð»Ñ Ñо, ÑÑо адекваÑно обÑÑ?Ñ?нÑ?еÑÑ?Ñ? глÑпоÑ?ÑÑÑ.
РобеÑÑ Ðжей Ð¥Ñ?нлон
ÐÑÐ¾Ñ Ð¿ÑинÑип пÑедполагаеÑ, ÑÑо дейÑ?Ñвие, пÑиведÑее к негаÑÐ¸Ð²Ð½Ð¾Ð¼Ñ ÑезÑлÑÑаÑÑ, не Ñ?влÑ?еÑÑ?Ñ? ÑезÑлÑÑаÑом злого ÑмÑÑ?ла. СкоÑее, негаÑивнÑй ÑезÑлÑÑÐ°Ñ Ñ?вÑ?зан Ñ? Ñем, ÑÑо Ñ?Ñо дейÑ?Ñвие и/или его поÑ?ледÑ?ÑвиÑ? бÑли не до конÑа Ñ?Ñ?нÑ.
Ðакон ХоÑÑÑадÑеÑа
Ðакон ХоÑÑÑадÑеÑа в Ðикипедии
ÐÑбое дело вÑ?егда длиÑÑ?Ñ? долÑÑе, Ñем ожидаеÑÑ?Ñ?, даже еÑ?ли ÑÑеÑ?ÑÑ Ð·Ð°ÐºÐ¾Ð½ ХоÑÑÑадÑеÑа.
ÐÑглаÑ? ХоÑÑÑадÑеÑ
ÐÑо-нибÑÐ´Ñ Ð¼Ð¾Ð³ Ñ?Ñ?ÑлаÑÑÑ?Ñ? на Ñ?ÑÐ¾Ñ Ð·Ð°ÐºÐ¾Ð½, глÑ?дÑ? на оÑÐµÐ½ÐºÑ Ñ?Ñоков вÑполнениÑ? Ñего-либо. ÐажеÑÑ?Ñ? оÑевиднÑм, ÑÑо Ð¼Ñ Ð½Ðµ оÑÐµÐ½Ñ Ñ Ð¾ÑоÑи в оÑенке Ñ?Ñоков ÑазÑабоÑки.
Ðз книги «Gödel, Escher, Bach: An Eternal Golden Braid».
ЧиÑайÑе Ñакже:
Цикл Ñ Ð°Ð¹Ð¿Ð° и закон Ð?маÑа
Цикл Ñ Ð°Ð¹Ð¿Ð° в Ðикипедии
ÐÑ Ñ?ÐºÐ»Ð¾Ð½Ð½Ñ Ð¿ÐµÑеоÑениваÑÑ Ñ?ÑÑÐµÐºÑ Ð¾Ñ ÑÐµÑ Ð½Ð¾Ð»Ð¾Ð³Ð¸Ð¸ в кÑаÑкоÑ?ÑоÑной пеÑÑ?пекÑиве и недооÑениваÑÑ Ñ?ÑÑÐµÐºÑ Ð² долгоÑ?ÑоÑной пеÑÑ?пекÑиве.
Рой Ð?маÑа
Цикл Ñ Ð°Ð¹Ð¿Ð° Ñ?влÑ?еÑÑ?Ñ? визÑализаÑией кÑивÑÑ Ð²Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ? и ÑазвиÑиÑ? ÑÐµÑ Ð½Ð¾Ð»Ð¾Ð³Ð¸Ð¸ во вÑемени. ÐпеÑвÑе бÑл пÑедÑ?Ñавлен компанией Gartner. ÐÑÑÑе показаÑÑ Ð½Ð° пÑимеÑе:
(ÐÑ?ÑоÑник изобÑажениÑ?: авÑоÑÑ?Ñво Jeremykemp, взÑ?Ñо из Ð?нглийÑ?кой Ðикипедии, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=10547051)
ÐÑ?ли коÑоÑко, Ñ?ÑÐ¾Ñ Ñикл показÑваеÑ, ÑÑо вокÑÑг новой ÑÐµÑ Ð½Ð¾Ð»Ð¾Ð³Ð¸Ð¸ обÑÑно наблÑдаеÑÑ?Ñ? взÑÑв ажиоÑажа оÑноÑ?иÑелÑно ÐµÑ Ð¿Ð¾ÑенÑиалÑного воздейÑ?ÑвиÑ?. ÐÐ¾Ð¼Ð°Ð½Ð´Ñ ÑаÑ?Ñо поÑ?пеÑно пÑÑгаÑÑ Ñ? головой в Ñ?ÑÑ Ð½Ð¾Ð²ÑÑ ÑÐµÑ Ð½Ð¾Ð»Ð¾Ð³Ð¸Ñ, но в иÑоге ÑазоÑаÑовÑваÑÑÑ?Ñ? ÑезÑлÑÑаÑом. ÐÑо Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ñ?вÑ?зано Ñ? Ñем, ÑÑо ÑÐµÑ Ð½Ð¾Ð»Ð¾Ð³Ð¸Ñ? еÑÑ Ð½ÐµÐ´Ð¾Ñ?ÑаÑоÑно ÑазвиÑа или пÑиложениÑ? в ÑеалÑном миÑе еÑÑ Ð½Ðµ до конÑа ÑеализованÑ. Ðо пÑоÑеÑ?Ñвии вÑемени возможноÑ?Ñи ÑÐµÑ Ð½Ð¾Ð»Ð¾Ð³Ð¸Ð¸ возÑаÑ?ÑаÑÑ, и пÑакÑиÑеÑ?каÑ? полÑза Ð¾Ñ Ð½ÐµÑ ÑвелиÑиваеÑÑ?Ñ?. ЧÑо позволÑ?ÐµÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ð¼ пÑодÑкÑивно иÑ?полÑзоваÑÑ Ñ?ÑÑ ÑÐµÑ Ð½Ð¾Ð»Ð¾Ð³Ð¸Ñ. Рой Ð?маÑа Ñ?ÑоÑмÑлиÑовал Ñ?Ñо наиболее Ñмко: «ÐÑ Ñ?ÐºÐ»Ð¾Ð½Ð½Ñ Ð¿ÐµÑеоÑениваÑÑ Ñ?ÑÑÐµÐºÑ Ð¾Ñ ÑÐµÑ Ð½Ð¾Ð»Ð¾Ð³Ð¸Ð¸ в кÑаÑкоÑ?ÑоÑной пеÑÑ?пекÑиве и недооÑениваÑÑ Ñ?ÑÑÐµÐºÑ Ð² долгоÑ?ÑоÑной пеÑÑ?пекÑиве».
Ðакон ХайÑама (Ðакон неÑ?внÑÑ Ð¸Ð½ÑеÑÑейÑ?ов)
Ðакон ХайÑама онлайн
ÐÑи доÑ?ÑаÑоÑном колиÑеÑ?Ñве полÑзоваÑелей API не Ð¸Ð¼ÐµÐµÑ Ð¾Ñ?обого знаÑениÑ?, ÑÑо Ð²Ñ Ð¿Ð¸ÑеÑе в докÑменÑаÑии: лÑбÑе наблÑдаемÑе ваÑианÑÑ Ð¿Ð¾Ð²ÐµÐ´ÐµÐ½Ð¸Ñ? ваÑей Ñ?иÑ?ÑÐµÐ¼Ñ Ð±ÑдÑÑ Ð½Ð° кого-Ñо влиÑ?ÑÑ.
ХайÑам РайÑ
Ðакон ХайÑама глаÑ?иÑ, ÑÑо, когда Ñ Ð²Ð°Ñ? еÑ?ÑÑ Ð´Ð¾Ñ?ÑаÑоÑно болÑÑое колиÑеÑ?Ñво полÑзоваÑелей API, лÑбое дейÑ?ÑвиÑ? Ñ?Ñого API (даже неопÑеделÑннÑе в ÑÐ°Ð¼ÐºÐ°Ñ Ð¿ÑблиÑной докÑменÑаÑии) в конеÑном иÑоге повлиÑ?ÑÑ Ð½Ð° кого-Ñо. ТÑивиалÑнÑй пÑимеÑ: неÑÑнкÑионалÑнÑй Ñ?леменÑ, Ñакой, как вÑемÑ? оÑвеÑа API. Ðенее знаÑиÑелÑнÑй пÑимеÑ: полÑзоваÑели, коÑоÑÑе опиÑаÑÑÑ?Ñ? на иÑ?полÑзование ÑегÑлÑ?ÑнÑÑ Ð²ÑÑажений пÑи опÑеделении Ñипа оÑибки API. Ðаже еÑ?ли пÑблиÑнаÑ? докÑменÑаÑиÑ? API не говоÑÐ¸Ñ Ð½Ð¸Ñего о ÑекÑ?Ñе Ñ?ообÑениÑ? оÑибки, Ñ?вно ÑказÑваÑ?, ÑÑо нÑжно Ñ?моÑÑеÑÑ Ð½Ð° код оÑибки, некоÑоÑÑе полÑзоваÑели могÑÑ Ð¸Ñ?полÑзоваÑÑ ÑекÑ?Ñ Ñ?ообÑениÑ?, и изменение Ñ?Ñого ÑекÑ?Ñа пÑÐ¸Ð²Ð¾Ð´Ð¸Ñ Ðº поломке API Ñ ÑÐ°ÐºÐ¸Ñ ÑзеÑов.
ЧиÑайÑе Ñакже:
Ðакон ÐÑÑа
Ðакон ÐÑÑа в Ðикипедии
ÐолиÑеÑ?Ñво ÑÑанзиÑ?ÑоÑов в инÑегÑалÑной Ñ?Ñ ÐµÐ¼Ðµ ÑдваиваеÑÑ?Ñ? пÑимеÑно каждÑе два года.
ЧаÑ?Ñо иÑ?полÑзÑемÑй длÑ? иллÑÑ?ÑÑаÑии Ñ?коÑоÑ?Ñи, Ñ? коÑоÑой ÑлÑÑÑаÑÑÑ?Ñ? ÑÐµÑ Ð½Ð¾Ð»Ð¾Ð³Ð¸Ð¸ пÑоизводÑ?Ñва полÑпÑоводников и Ñипов, пÑогноз ÐÑÑа бÑл оÑÐµÐ½Ñ ÑоÑнÑм Ñ? 1970-Ñ Ð¸ до 2000-Ñ Ð³Ð¾Ð´Ð¾Ð². РпоÑ?ледние Ð³Ð¾Ð´Ñ Ñ?Ñа ÑенденÑиÑ? немного изменилаÑ?Ñ, в ÑаÑ?ÑноÑ?Ñи из-за ÑизиÑеÑ?ÐºÐ¸Ñ Ð¾Ð³ÑаниÑений на Ñ?ÑÐµÐ¿ÐµÐ½Ñ Ð¼Ð¸Ð½Ð¸Ð°ÑÑÑизаÑии компоненÑов. Ð Ñем не менее, доÑ?ÑижениÑ? в облаÑ?Ñи ÑаÑ?паÑаллеливаниÑ? и поÑенÑиалÑнÑе ÑеволÑÑионнÑе изменениÑ? в ÑÐµÑ Ð½Ð¾Ð»Ð¾Ð³Ð¸Ð¸ полÑпÑоводников, а Ñакже кванÑовÑе компÑÑÑеÑÑ Ð¼Ð¾Ð³ÑÑ Ð¾Ð·Ð½Ð°ÑаÑÑ, ÑÑо закон ÐÑÑа оÑ?ÑанеÑÑ?Ñ? акÑÑалÑнÑм на пÑоÑÑ?жении Ñ?ледÑÑÑÐ¸Ñ Ð´ÐµÑ?Ñ?ÑилеÑий.
Ðакон ÐаÑкинÑ?она
Ðакон ÐаÑкинÑ?она в Ðикипедии
РабоÑа заполнÑ?ÐµÑ Ð²Ñ?Ñ Ð²ÑемÑ?, оÑпÑÑенное на неÑ.
РоÑигиналÑном конÑекÑ?Ñе Ñ?ÑÐ¾Ñ Ð·Ð°ÐºÐ¾Ð½ бÑл Ñ?ÑоÑмÑлиÑован в Ñ Ð¾Ð´Ðµ изÑÑениÑ? бÑÑокÑаÑии. ÐÑо Ð¼Ð¾Ð¶ÐµÑ Ð¸Ð¼ÐµÑÑ Ð¿ÐµÑ?Ñ?имиÑ?ÑиÑнÑй подÑекÑ?Ñ Ð² Ñ?лÑÑае пÑименениÑ? к облаÑ?Ñи ÑазÑабоÑки пÑогÑаммного обеÑ?пеÑениÑ?. ТеоÑиÑ? заклÑÑаеÑÑ?Ñ? в Ñом, ÑÑо команда бÑÐ´ÐµÑ Ð½ÐµÑ?ÑÑекÑивна вплоÑÑ Ð´Ð¾ близкого дедлайна. ÐаÑем бÑÐ´ÐµÑ Ñ?ÑÑемиÑÑÑ?Ñ? законÑиÑÑ ÑабоÑÑ Ðº кÑÐ°Ð¹Ð½ÐµÐ¼Ñ Ñ?ÑокÑ.
ÐÑ?ли Ñ?ÑÐ¾Ñ Ð·Ð°ÐºÐ¾Ð½ Ñ?овмеÑ?ÑиÑÑ Ñ? законом ХоÑÑÑадÑеÑа, Ñо каÑÑина окажеÑÑ?Ñ? еÑÑ Ð±Ð¾Ð»ÐµÐµ пеÑ?Ñ?имиÑ?ÑиÑной â ÑабоÑа Ð·Ð°Ð¿Ð¾Ð»Ð½Ð¸Ñ Ð²Ñ?Ñ Ð¾ÑведÑнное на Ð½ÐµÑ Ð²ÑемÑ? и вÑ?Ñ Ñавно займÑÑ Ð±Ð¾Ð»ÑÑе вÑемени, Ñем ожидалоÑ?Ñ.
ЧиÑайÑе Ñакже:
Ðакон ÐÑÑÑа
Ðакон ÐÑÑÑа в Ðикипедии
Ð ÑÐµÑ Ð½Ð¾Ð»Ð¾Ð³Ð¸Ñ?Ñ Ð´Ð¾Ð¼Ð¸Ð½Ð¸ÑÑÑÑ Ð´Ð²Ð° Ñипа лÑдей: Ñе, кÑо понимаеÑ, ÑÑо им не ÑдаеÑÑ?Ñ?, и Ñе, кÑо ÑпÑавлÑ?ÐµÑ Ñем, ÑÑо они не понимаÑÑ.
Ðакон ÐÑÑÑа ÑаÑ?Ñо Ñ?опÑовождаеÑÑ?Ñ? Ñ?ледÑ?Ñвием ÐÑÑÑа:
ÐаждаÑ? ÑÐµÑ Ð½Ð¸ÑеÑ?каÑ? иеÑаÑÑ Ð¸Ñ? Ñ?о вÑеменем ÑÐ°Ð·Ð²Ð¸Ð²Ð°ÐµÑ Ð¸Ð½Ð²ÐµÑÑ?Ð¸Ñ ÐºÐ¾Ð¼Ð¿ÐµÑенÑий.
Ðз Ñ?Ñого закона Ñ?ледÑеÑ, ÑÑо из-за ÑазниÑÑ Ð² кÑиÑеÑиÑ?Ñ Ð¾ÑбоÑа и ÑенденÑиÑ?Ñ Ð² пÑоÑеÑ?Ñ?Ð°Ñ Ð¾ÑганизаÑии гÑÑпп, на ÑазнÑÑ ÑабоÑÐ¸Ñ ÑÑовнÑ?Ñ ÑÐµÑ Ð½Ð¸ÑеÑ?ÐºÐ¸Ñ Ð¾ÑганизаÑий бÑÐ´ÐµÑ Ð½ÐµÐºÐ¾ÑоÑое ÑиÑ?ло вÑÑ?ококвалиÑиÑиÑованнÑÑ Ð»Ñдей и лÑдей, занимаÑÑÐ¸Ñ ÑÑководÑ?Ñие позиÑии, коÑоÑÑе не бÑдÑÑ Ð¿Ð¾Ð½Ð¸Ð¼Ð°ÑÑ Ñ?ложноÑ?Ñи и пÑÐ¾Ð±Ð»ÐµÐ¼Ñ Ñой ÑабоÑÑ, коÑоÑой занимаÑÑÑ?Ñ?. ÐÑо можно Ñ?вÑ?заÑÑ Ñ? ÐÑинÑипом ÐаÑеÑо и Ðаконом ÐилбеÑÑа.
ÐпÑоÑем, Ñ?ÑÐ¾Ð¸Ñ Ð¿Ð¾Ð´ÑеÑкнÑÑÑ, ÑÑо подобнÑе Ð·Ð°ÐºÐ¾Ð½Ñ Ñ?влÑ?ÑÑÑ?Ñ? обобÑениÑ?ми и могÑÑ Ð¿ÑименÑ?ÑÑÑ?Ñ? лиÑÑ Ðº оÑганизаÑиÑ?м некоÑоÑÑÑ Ñипов и не пÑименÑ?ÑÑÑ?Ñ? к дÑÑгим.
ЧиÑайÑе Ñакже:
Ðакон Ñ?Ð¾Ñ ÑанениÑ? Ñ?ложноÑ?Ñи (закон ТеÑ?леÑа)
Ðакон Ñ?Ð¾Ñ ÑанениÑ? Ñ?ложноÑ?Ñи в Ðикипедии
Ðакон глаÑ?иÑ, ÑÑо в Ñ?иÑ?Ñеме Ñ?ÑÑеÑ?ÑвÑÐµÑ Ð¾Ð¿ÑеделÑннÑй ÑÑÐ¾Ð²ÐµÐ½Ñ Ñ?ложноÑ?Ñи, коÑоÑÑй невозможно ÑменÑÑиÑÑ.
Ð Ñ?иÑ?Ñеме изнаÑалÑно Ñ?ÑÑеÑ?ÑвÑÐµÑ Â«Ð½ÐµÐ¿ÑеднамеÑеннаÑ?» Ñ?ложноÑ?ÑÑ. ÐÑо Ñ?ледÑ?Ñвие Ð¿Ð»Ð¾Ñ Ð¾Ð¹ Ñ?ÑÑÑкÑÑÑÑ, оÑибок или Ð¿Ð»Ð¾Ñ Ð¾Ð³Ð¾ моделиÑованиÑ? ÑеÑениÑ? пÑоблемÑ. Ð?епÑеднамеÑеннаÑ? Ñ?ложноÑ?ÑÑ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ ÑменÑÑена (или полноÑ?ÑÑÑ ÑÑ?ÑÑанена). Ðднако опÑеделÑннаÑ? Ñ?ложноÑ?ÑÑ Ñ?влÑ?еÑÑ?Ñ? «еÑ?ÑеÑ?Ñвенной» и Ñ?вÑ?зана Ñ?о Ñ?ложноÑ?ÑÑÑ ÑеÑаемой пÑоблемÑ. ÐÑÐ¾Ñ Ð²Ð¸Ð´ Ñ?ложноÑ?Ñи Ð¼Ð¾Ð¶ÐµÑ Ð¿ÐµÑемеÑаÑÑÑ?Ñ?, но ÐµÑ Ð½ÐµÐ»ÑзÑ? ÑÑ?ÑÑаниÑÑ Ð¿Ð¾Ð»Ð½Ð¾Ñ?ÑÑÑ.
Ðдна инÑеÑеÑ?наÑ? оÑ?обенноÑ?ÑÑ Ñ?Ñого закона: пÑедполагаеÑÑ?Ñ?, ÑÑо даже пÑи ÑпÑоÑении вÑ?ей Ñ?иÑ?ÑÐµÐ¼Ñ Ñеликом, еÑ?ÑеÑ?ÑвеннаÑ? Ñ?ложноÑ?ÑÑ Ð½Ðµ ÑменÑÑаеÑÑ?Ñ?, а пеÑекладÑваеÑÑ?Ñ? на плеÑи полÑзоваÑелÑ?. Ðз-за Ñ?Ñого ÑÑ?ложнÑ?еÑÑ?Ñ? поведение, ожидаемое Ð¾Ñ Ð¿Ð¾Ð»ÑзоваÑелÑ?.
Ðакон негеÑмеÑиÑнÑÑ Ð°Ð±Ñ?ÑÑакÑий
Ðакон негеÑмеÑиÑнÑÑ Ð°Ð±Ñ?ÑÑакÑий в Ðикипедии
ÐÑ?е неÑÑивиалÑнÑе абÑ?ÑÑакÑии, в какой-Ñо Ñ?Ñепени, негеÑмеÑиÑнÑ.
ÐжоÑ?л СполÑÑ?ки
ÐÑÐ¾Ñ Ð·Ð°ÐºÐ¾Ð½ глаÑ?иÑ, ÑÑо абÑ?ÑÑакÑии, иÑ?полÑзÑемÑе в некоÑоÑÑÑ Ñ?лÑÑаÑ?Ñ Ð´Ð»Ñ? ÑпÑоÑениÑ? Ñ?ложнÑÑ Ñ?иÑ?Ñем, могÑÑ Â«Ð²ÑÑекаÑÑ» из Ñ?леменÑов базовой Ñ?иÑ?ÑемÑ. ÐÑо заÑ?ÑавлÑ?ÐµÑ Ð°Ð±Ñ?ÑÑакÑÐ¸Ñ Ð²ÐµÑ?Ñи Ñ?ебÑ? неожиданнÑм обÑазом.
ÐÑимеÑом Ð¼Ð¾Ð¶ÐµÑ Ñ?лÑжиÑÑ Ð¿ÑоÑеÑ?Ñ? загÑÑзки Ñайла и ÑÑение его Ñ?одеÑжимого. API Ñайловой Ñ?иÑ?ÑÐµÐ¼Ñ Ñ?влÑ?еÑÑ?Ñ? абÑ?ÑÑакÑией низкоÑÑовневÑÑ Ñ?иÑ?Ñем Ñ?дÑа, коÑоÑÑе, в Ñ?Ð²Ð¾Ñ Ð¾ÑеÑедÑ, Ñ?влÑ?ÑÑÑ?Ñ? абÑ?ÑÑакÑиÑ?ми над ÑизиÑеÑ?кими пÑоÑеÑ?Ñ?ами изменениÑ? даннÑÑ Ð½Ð° диÑ?ке (или ÑлеÑ-памÑ?Ñи SSD). РболÑÑинÑ?Ñве Ñ?лÑÑаев абÑ?ÑÑакÑиÑ? обÑабоÑки Ñайла в виде поÑока двоиÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ Ð±ÑÐ´ÐµÑ ÑабоÑаÑÑ. Ðднако длÑ? магниÑного накопиÑелÑ? поÑ?ледоваÑелÑное ÑÑение даннÑÑ Ð±ÑÐ´ÐµÑ Ð·Ð½Ð°ÑиÑелÑно бÑÑ?ÑÑее Ñем ÑандомнÑй доÑ?ÑÑп (из-за ÑвелиÑениÑ? колиÑеÑ?Ñва Ñ?лÑжебнÑÑ Ð¾Ñибок). Ð?о в Ñ?лÑÑае Ñ? SSD-диÑ?ком Ñакие издеÑжки оÑÑ?ÑÑÑ?ÑвÑÑÑ. ÐлÑ? пониманиÑ? Ñ?Ñого пÑимеÑа поÑÑебÑеÑÑ?Ñ? ÑазобÑаÑÑÑ?Ñ? Ñ? оÑ?новами. Ð?апÑимеÑ, каÑалоги Ñайлов в базе даннÑÑ Ñ?ÑÑÑкÑÑÑиÑÐ¾Ð²Ð°Ð½Ñ Ñаким обÑазом, ÑÑÐ¾Ð±Ñ Ñ?низиÑÑ Ð¸Ð·Ð´ÐµÑжки пÑи Ñандомном доÑ?ÑÑпе. «УÑеÑки» абÑ?ÑÑакÑий Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑÑÑ Ð¿ÑедÑÑ?моÑÑеннÑм ÑазÑабоÑÑиком пÑи ÑеализаÑии.
ÐÑÐ¸Ð¼ÐµÑ Ð²ÑÑе Ñ?ÑановиÑÑ?Ñ? Ñем Ñ?ложнее, Ñем болÑÑе абÑ?ÑÑакÑий вводиÑÑ?Ñ?. ÐпеÑаÑионнаÑ? Ñ?иÑ?Ñема Linux позволÑ?ÐµÑ Ð¿Ð¾Ð»ÑÑаÑÑ Ð´Ð¾Ñ?ÑÑп к Ñайлам по Ñ?еÑи, но локалÑно пÑедÑ?Ñавлена в виде «ноÑмалÑнÑÑ Â» Ñайлов. ÐÑа абÑ?ÑÑакÑиÑ? «пÑоÑеÑÑÑ», еÑ?ли в Ñ?еÑи пÑоизойдÑÑ Ñ?бой. ÐÑ?ли ÑазÑабоÑÑик бÑÐ´ÐµÑ ÑаÑ?Ñ?маÑÑиваÑÑ ÑÐ°Ð¹Ð»Ñ ÐºÐ°Ðº «ноÑмалÑнÑе» пÑи ÑабоÑе ÑеÑез Ñ?еÑÑ, не пÑедÑÑ?моÑÑев возможноÑ?ÑÑ Ñ?боев и задеÑжек, его ÑеÑениÑ? бÑдÑÑ Ð² коÑне невеÑнÑ.
Ð Ñ?ÑаÑÑе, опиÑ?ÑваÑÑей даннÑй закон, говоÑиÑÑ?Ñ?, ÑÑо иÑ?Ñ Ð¾Ð´Ð½Ð°Ñ? пÑоблема поÑенÑиалÑно ÑÑ?ложнÑ?еÑÑ?Ñ? в Ñ?лÑÑаÑ?Ñ ÑÑезмеÑной завиÑ?имоÑ?Ñи Ð¾Ñ Ð°Ð±Ñ?ÑÑакÑий и Ð¿Ð»Ð¾Ñ Ð¾Ð³Ð¾ пониманиÑ? оÑ?новнÑÑ Ð¿ÑоÑеÑ?Ñ?ов.
ЧиÑайÑе Ñакже:
РеалÑнÑй пÑимеÑ:
- ÐедленнÑй запÑÑ?к Photoshop - пÑоблема, Ñ? коÑоÑой Ñ? Ñ?ÑолкнÑлÑ?Ñ?. Photoshop медленно запÑÑ?калÑ?Ñ?, иногда Ñ?Ñо занимало неÑ?колÑко минÑÑ. ÐÐ¾Ñ Ð¾Ð¶Ðµ, пÑоблема бÑла в Ñом, ÑÑо пÑогÑамма пÑи запÑÑ?ке Ñ?ÑиÑÑвала инÑоÑмаÑÐ¸Ñ Ð¾ деÑолÑном пÑинÑеÑе. ÐÑ?ли пÑинÑÐµÑ Ð±Ñл Ñ?еÑевÑм, Ñо Ñ?ÑÐ¾Ñ Ð¿ÑоÑеÑ?Ñ? мог занимаÑÑ Ð½ÐµÐ¿ÑилиÑно много вÑемени. Ð?бÑ?ÑÑакÑиÑ? ÑабоÑÑ Ñ? Ñ?еÑевÑм пÑинÑеÑом бÑла Ñой же, ÑÑо длÑ? ÑабоÑÑ Ñ? локалÑнÑм пÑинÑеÑом. Ð?е бÑл пÑедÑÑ?моÑÑен Ñ?ÑенаÑий Ñ?иÑÑаÑии Ñ? Ð¿Ð»Ð¾Ñ Ð¸Ð¼ каÑеÑ?Ñвом подклÑÑениÑ? Ñ ÐºÐ»Ð¸ÐµÐ½Ñа.
Ðакон ÑÑивиалÑноÑ?Ñи
Ðакон ÑÑивиалÑноÑ?Ñи в Ðикипедии
ÐÑÐ¾Ñ Ð·Ð°ÐºÐ¾Ð½ пÑедполагаеÑ, ÑÑо гÑÑÐ¿Ð¿Ñ Ð±ÑдÑÑ ÑÑаÑиÑÑ Ð±Ð¾Ð»ÑÑе вÑемени на ÑÑивиалÑнÑе или коÑ?меÑиÑеÑ?кие задаÑи, нежели на Ñ?еÑÑÑзнÑе и Ñ?ÑÑеÑ?ÑвеннÑе.
РкаÑеÑ?Ñве пÑимеÑа пÑиводиÑÑ?Ñ? вÑмÑÑленнÑй комиÑеÑ, ÑабоÑа коÑоÑого заклÑÑалаÑ?Ñ Ð² Ñ?оглаÑ?овании пÑоекÑа аÑомной Ñ?лекÑÑоÑ?ÑанÑии. Ð§Ð»ÐµÐ½Ñ ÐºÐ¾Ð¼Ð¸ÑеÑа пÑоводÑ?Ñ Ð±Ð¾Ð»ÑÑÑÑ ÑаÑ?ÑÑ Ñ?воего вÑемени за обÑ?Ñждением Ñ?ÑÑÑкÑÑÑÑ Ð²ÐµÐ»Ð¾Ñ?ипедного навеÑ?а, а не гоÑаздо более важного пÑоекÑа Ñ?амой Ñ?лекÑÑоÑ?ÑанÑии. ÐÑÐ²Ð°ÐµÑ ÑÑÑдно внеÑ?Ñи ÑеннÑй вклад в диÑ?кÑÑ?Ñ?Ð¸Ñ Ð½Ð° оÑÐµÐ½Ñ Ð±Ð¾Ð»ÑÑие и Ñ?ложнÑе ÑÐµÐ¼Ñ Ð±ÐµÐ· вÑÑ?окой Ñ?Ñепени пÑедмеÑной Ñ?кÑ?пеÑÑÐ¸Ð·Ñ Ð¸Ð»Ð¸ подгоÑовки. Тем не менее, лÑди Ñ Ð¾ÑÑ?Ñ Ð²Ð½Ð¾Ñ?иÑÑ ÑеннÑй вклад. ÐÑÑ?Ñда Ð²Ð¾Ð·Ð½Ð¸ÐºÐ°ÐµÑ ÑенденÑиÑ? ÑделÑ?ÑÑ Ñ?лиÑком много вÑемени мелким деÑалÑ?м, коÑоÑÑе легко обоÑ?новÑваÑÑÑ?Ñ?, но не обÑ?заÑелÑно имеÑÑ Ð¾Ñ?обое знаÑение.
ÐÑмÑÑленнÑй пÑимеÑ, ÑаÑ?Ñ?моÑÑеннÑй вÑÑе, пÑивел к иÑ?полÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÑеÑмина «Bike Shedding» (еÑ?ли пеÑеводиÑÑ Ð´Ð¾Ñ?ловно, Ñо полÑÑиÑÑ?Ñ? ÑÑо-Ñо вÑоде «Ñ?аÑаÑ? длÑ? велоÑ?ипедов») в каÑеÑ?Ñве вÑÑажениÑ? длÑ? ÑÑаÑÑ Ð²Ñемени на ÑÑивиалÑнÑе деÑали.
ФилоÑ?оÑиÑ? Unix
ФилоÑ?оÑиÑ? Unix в Ðикипедии
ФилоÑ?оÑиÑ? Unix заклÑÑаеÑÑ?Ñ? в Ñом, ÑÑо ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ Ð¿ÑогÑаммного обеÑ?пеÑениÑ? должен бÑÑÑ Ð½ÐµÐ±Ð¾Ð»ÑÑого ÑазмеÑа и Ñ?ÑокÑÑ?иÑован на идеалÑном иÑ?полнении одной Ñ?пеÑиÑиÑной задаÑи. ÐÑо Ð¼Ð¾Ð¶ÐµÑ ÑпÑоÑ?ÑиÑÑ Ñ?оздание Ñ?иÑ?Ñем пÑÑем компоновки неболÑÑÐ¸Ñ , пÑоÑ?ÑÑÑ , ÑеÑко опÑеделеннÑÑ Ð¼Ð¾Ð´Ñлей, а не пÑÑÑм иÑ?полÑзованиÑ? болÑÑÐ¸Ñ , Ñ?ложнÑÑ , многоÑелевÑÑ Ð¿ÑогÑамм.
СовÑеменнÑе пÑакÑики, Ñакие как «Ð?ÑÑ Ð¸ÑекÑÑÑа ÐикÑоÑ?еÑвиÑ?ов», могÑÑ ÑаÑ?Ñ?маÑÑиваÑÑÑ?Ñ? как пÑименение Ñ?Ñого закона. СеÑвиÑ?Ñ Ð½ÐµÐ±Ð¾Ð»ÑÑие, Ñ?ÑокÑÑ?иÑÐ¾Ð²Ð°Ð½Ñ Ð½Ð° одной Ñ?пеÑиÑиÑной задаÑе, ÑÑо позволÑ?ÐµÑ Ñ?оздаÑÑ Ñ?ложное поведение пÑÑÑм Ñ?оÑ?ÑавлениÑ? пÑоÑ?ÑÑÑ Ñ?ÑÑоиÑелÑнÑÑ Ð±Ð»Ð¾ÐºÐ¾Ð².
ÐÐ¾Ð´ÐµÐ»Ñ Ð¡Ð¿Ð¾ÑиÑай
ÐÐ¾Ð´ÐµÐ»Ñ Ð¡Ð¿Ð¾ÑиÑай в Ðикипедии
ÐÐ¾Ð´ÐµÐ»Ñ Ð¡Ð¿Ð¾ÑиÑай â Ð¿Ð¾Ð´Ñ Ð¾Ð´ к оÑганизаÑии ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð¸ Ñ?ÑÑÑкÑÑÑе компании, коÑоÑаÑ? бÑла попÑлÑ?ÑизиÑована компанией-ÑазÑабоÑÑиком Spotify. Ð Ñ?Ñой модели ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð¾ÑÐ³Ð°Ð½Ð¸Ð·Ð¾Ð²Ð°Ð½Ñ Ð²Ð¾ÐºÑÑг ÑÑнкÑий, а не ÑÐµÑ Ð½Ð¾Ð»Ð¾Ð³Ð¸Ð¹.
ÐÐ¾Ð´ÐµÐ»Ñ Ð¡Ð¿Ð¾ÑиÑай Ñакже попÑлÑ?ÑизиÑÑÐµÑ ÐºÐ¾Ð½ÑепÑÑ Â«ÐÑÑÑ?дов», «ÐлемÑн», «ÐÑделов» и «ÐилÑдий», коÑоÑÑе Ñ?влÑ?ÑÑÑ?Ñ? компоненÑами Ð¸Ñ Ð¾ÑганизаÑионной Ñ?ÑÑÑкÑÑÑÑ: каждÑй из «оÑÑÑ?дов» Ñ?ÑокÑÑ?иÑован на оÑделÑной ÑаÑ?Ñи ÑÑнкÑионалÑноÑ?Ñи пÑодÑкÑа, как Ñо поиÑ?к или плейлиÑ?ÑÑ, ÑÑо позволÑ?ÐµÑ Ð¸Ð¼ Ñ?ÑановиÑÑÑ?Ñ? Ñ?кÑ?пеÑÑами в Ñ?Ð²Ð¾Ð¸Ñ Ð¾Ð±Ð»Ð°Ñ?ÑÑ?Ñ . Ð?а Ñ?ледÑÑÑем ÑÑовне взаимодейÑ?ÑвиÑ? «оÑÑÑ?дÑ» СпоÑиÑай Ñ? обÑей или Ñ?Ñ Ð¾Ð¶ÐµÐ¹ миÑ?Ñ?ией обÑединÑ?ÑÑÑ?Ñ? в «племена», пÑоводÑ? пеÑиодиÑеÑ?кие (поÑой даже Ñ?понÑаннÑе) Ñ?обÑаниÑ? ÑÑÐ¾Ð±Ñ Ñ?коÑÑекÑиÑоваÑÑ Ð¾Ð±Ñие Ñели. «ÐÑделÑ» Ñ?оÑ?ÑоÑ?Ñ Ð¸Ð· Ñ?оÑÑÑдников одного пÑоÑилÑ? (напÑимеÑ, ÑазÑабоÑÑики или ÑеÑ?ÑиÑовÑики), коÑоÑÑе ÑегÑлÑ?Ñно вÑ?ÑÑеÑаÑÑÑ?Ñ?, ÑÑÐ¾Ð±Ñ ÑбедиÑÑÑ?Ñ? в иÑ?полÑзовании новейÑÐ¸Ñ ÑÑендов и ÑÐµÑ Ð½Ð¾Ð»Ð¾Ð³Ð¸Ð¹, обмениваÑÑÑ?Ñ? знаниÑ?ми и Ñ?ÑÑекÑивно пеÑеиÑ?полÑзоваÑÑ Ñ?ÑÑеÑ?ÑвÑÑÑие ÑеÑениÑ?. «ÐилÑдиÑ?» же пÑедÑ?ÑавлÑ?ÐµÑ Ñ?обой менее ÑоÑмалÑнÑÑ Ð¸ вклÑÑаÑÑÑÑ Ð² Ñ?ебÑ? болÑÑее колиÑеÑ?Ñво лÑдей гÑÑппÑ: Ñак, гилÑдиÑ? ÑеÑ?ÑиÑовÑиков Ñ?оÑ?ÑÐ¾Ð¸Ñ Ð½Ðµ ÑолÑко из ÑиÑокого кÑÑга ÑеÑ?ÑиÑовÑиков (вклÑÑаÑ? и авÑомаÑизаÑоÑов, и Ñ?пеÑиалиÑ?Ñов по манÑалÑÐ½Ð¾Ð¼Ñ ÑеÑ?ÑиÑованиÑ), но и из пÑогÑаммиÑ?Ñов, коÑоÑÑе Ñ Ð¾ÑÑ?Ñ Ð»ÑÑÑе понимаÑÑ Ð¿ÑоÑеÑ?Ñ?Ñ ÑеÑ?ÑиÑованиÑ? и вноÑ?иÑÑ Ñ?вой вклад в деÑ?ÑелÑноÑ?ÑÑ Ð² Ñ?Ñом напÑавлении.
- Squad â оÑÑÑ?д, Ñ?ÐºÐ²Ð¸Ð²Ð°Ð»ÐµÐ½Ñ Ñ?кÑам-командÑ; авÑономен на Ñ?ÑолÑко, на Ñ?колÑко Ñ?Ñо возможно;
- Tribe â племÑ?, оÑÐ³Ð°Ð½Ð¸Ð·Ð¾Ð²Ð°Ð½Ñ Ð¿Ð¾ пÑинÑÐ¸Ð¿Ñ Ð¼Ð¸Ð½Ð¸Ð¼Ð°Ð»Ñной взаимозавиÑ?имоÑ?Ñи, ÑаÑе вÑ?его оÑганизÑеÑÑ?Ñ? на ÑÑовне оÑиÑ?а до 100 Ñеловек;
- Chapter â оÑдел, обÑединÑ?ÐµÑ Ð»Ñдей по опÑÑÑ Ð¸Ð»Ð¸ пÑоÑилÑ;
- Guild â гилÑдиÑ?, Ñ?ообÑеÑ?Ñво Ñ? обиÑим инÑеÑеÑ?ами; не завиÑ?Ð¸Ñ Ð¾Ñ Ñ?ÑÑÑÑÑÑÑ Â«Ð¿Ð»ÐµÐ¼Ñн»;
- PO â ÑÑководиÑÐµÐ»Ñ Ð¿ÑоекÑа (product owner).
ЧиÑайÑе Ñакже:
Ðакон ÐадлеÑа
Ðакон ÐадлеÑа на wiki.haskell.org
РлÑбой конÑ?ÑÑÑкÑии Ñ?зÑка вÑемÑ?, заÑÑаÑиваемое на обÑ?Ñждение ÑÑнкÑии из Ñ?Ñого Ñ?пиÑ?ка, пÑопоÑÑионалÑно двойке, возведÑнной в Ñ?ÑÐµÐ¿ÐµÐ½Ñ Ð¿Ð¾Ð·Ð¸Ñии в Ñ?пиÑ?ке.
- СеманÑика
- СинÑакÑ?иÑ?
- ÐекÑ?иÑеÑ?кий Ñ?инÑакÑ?иÑ?
- ÐекÑ?иÑеÑ?кий Ñ?инÑакÑ?иÑ? комменÑаÑиев
(ÐоÑоÑе говоÑÑ?, на каждÑй ÑаÑ?, поÑÑаÑеннÑй на Ñ?еманÑикÑ, пÑидÑÑÑ?Ñ? 8 ÑаÑ?ов обÑ?ÑждениÑ? Ñ?инÑакÑ?иÑ?а комменÑаÑиев).
Ð?налогиÑно ÐÐ°ÐºÐ¾Ð½Ñ ÑÑивиалÑноÑ?Ñи закон ÐадлеÑа глаÑ?иÑ, ÑÑо пÑи пÑоекÑиÑовании Ñ?зÑка вÑемÑ?, поÑÑаÑенное на Ñ?ÑÑÑкÑÑÑнÑе оÑ?обенноÑ?Ñи, непÑопоÑÑионалÑно велико в Ñ?Ñавнении Ñ? важноÑ?ÑÑÑ Ñ?ÑÐ¸Ñ ÑÑнкÑий.
ЧиÑайÑе Ñакже:
ÐÑинÑипÑ
ÐÑинÑÐ¸Ð¿Ñ Ð±Ð¾Ð»ÑÑе Ð¿Ð¾Ñ Ð¾Ð¶Ð¸ на Ð³Ð°Ð¹Ð´Ð»Ð°Ð¹Ð½Ñ Ð´Ð»Ñ? дизайна Ñ?иÑ?ÑемÑ.
ÐÑинÑип ÐаÑеÑо (ÐÑавило 80/20)
ÐÑинÑип ÐаÑеÑо в Ðикипедии
ÐолÑÑинÑ?Ñво веÑей в жизни ÑаÑ?пÑеделÑ?ÑÑÑ?Ñ? неÑавномеÑно.
РнекоÑоÑÑÑ Ñ?лÑÑаÑ?Ñ Ð¾Ñ?новной ÑезÑлÑÑÐ°Ñ Ð´Ð¾Ñ?ÑигаеÑÑ?Ñ? неболÑÑими ÑеÑ?ÑÑÑ?ами:
- 80% Ð¾Ñ Ð¾Ð±Ñего обÑÑма кода пÑи ÑазÑабоÑке пÑогÑаммного обеÑ?пеÑениÑ? пиÑеÑÑ?Ñ? за 20% Ð¾Ñ Ð²ÑделÑ?емого вÑемени (и напÑоÑив, Ñ?амÑе Ñ?ложнÑе 20% кода оÑнимаÑÑ 80% вÑемени)
- 20% ÑÑ?илий даÑÑ 80% ÑезÑлÑÑаÑа
- 20% ÑабоÑÑ Ð¾Ð±ÐµÑ?пеÑиваÑÑ 80% Ð´Ð¾Ñ Ð¾Ð´Ð°
- 20% багов пÑиводÑ?Ñ Ðº 80% поломок
Ð 1940-Ñ Ð°Ð¼ÐµÑикано-ÑÑмÑнÑ?кий Ð¸Ð½Ð¶ÐµÐ½ÐµÑ Ð´Ð¾ÐºÑÐ¾Ñ ÐÐ¶Ð¾Ð·ÐµÑ Ð®Ñан, коÑоÑÐ¾Ð¼Ñ Ð¿ÑипиÑ?ÑваÑÑ Ñ?оздание конÑÑолÑ? каÑеÑ?Ñва, наÑал пÑименÑ?ÑÑ Ð¿ÑинÑип ÐаÑеÑо в вопÑоÑ?Ð°Ñ ÐºÐ°ÑеÑ?Ñва.
ÐÑÐ¾Ñ Ð¿ÑинÑип Ñакже извеÑ?Ñен как пÑавило 80/20.
ÐÑимеÑÑ Ð¸Ð· ÑеалÑной жизни:
- Ð 2002 г. ÐайкÑоÑ?оÑÑ Ñ?ообÑила, ÑÑо поÑ?ле иÑ?пÑавлениÑ? 20% багов, о коÑоÑÑÑ Ñ?ообÑалоÑ?Ñ ÑаÑе вÑ?его, 80% Ñ?вÑ?заннÑÑ Ð¾Ñибок и поломок в Windows и MS Office пÑоÑ?Ñо пÑопадÑÑ (ÐÑ?ÑоÑник).
ÐÑинÑип ÑÑ?ÑойÑивоÑ?Ñи (Ðакон ÐоÑ?Ñела)
ÐÑинÑип ÑÑ?ÑойÑивоÑ?Ñи в Ðикипедии
ÐÑдÑÑе конÑ?еÑваÑÐ¸Ð²Ð½Ñ Ð² Ñом, ÑÑо Ð²Ñ Ð´ÐµÐ»Ð°ÐµÑе и либеÑалÑÐ½Ñ Ð² Ñом, ÑÑо пÑинимаеÑе Ð¾Ñ Ð´ÑÑÐ³Ð¸Ñ .
ÐÑÐ¾Ñ Ð¿ÑинÑип ÑаÑ?Ñо пÑименÑ?еÑÑ?Ñ? пÑи ÑазÑабоÑке Ñ?еÑвеÑнÑÑ Ð¿Ñиложений. То, ÑÑо Ð²Ñ Ð¿Ð¾Ñ?ÑлаеÑе дÑÑгим, должно бÑÑÑ Ð¼Ð¸Ð½Ð¸Ð¼Ð°Ð»Ð¸Ñ?ÑиÑнÑм и Ñ?овмеÑ?ÑимÑм наÑ?колÑко Ñ?Ñо возможно. Ð?о Ð²Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¿ÑедÑÑ?моÑÑеÑÑ Ð¾Ð±ÑабоÑÐºÑ Ð½ÐµÑ?овмеÑ?Ñимого ввода.
ЦелÑÑ Ñ?Ñого пÑинÑипа Ñ?влÑ?еÑÑ?Ñ? поÑ?ÑÑоение пÑоÑнÑÑ Ñ?иÑ?Ñем, коÑоÑÑе могÑÑ Ð¾Ð±ÑабоÑаÑÑ Ð¿Ð»Ð¾Ñ Ð¾ ÑоÑмаÑиÑованнÑй ввод, еÑ?ли Ñ?мÑÑ?л Ñ?Ñого ввода понÑ?Ñен. ÐпÑоÑем, пÑиÑм непÑавилÑного ввода Ð¸Ð¼ÐµÐµÑ Ð¿Ð¾ÑенÑиалÑнÑе поÑ?ледÑ?ÑвиÑ? длÑ? безопаÑ?ноÑ?Ñи. ÐÑ?обенно еÑ?ли пÑоÑеÑ?Ñ? обÑабоÑки Ñакого ввода Ð¿Ð»Ð¾Ñ Ð¾ пÑоÑеÑ?ÑиÑован.
SOLID
ÐÑо акÑоним, коÑоÑÑй ÑаÑ?ÑиÑÑовÑваеÑÑ?Ñ? Ñ?ледÑÑÑим обÑазом:
- S: ÐÑинÑип единÑ?Ñвенной оÑвеÑÑ?ÑвенноÑ?Ñи
- O: ÐÑинÑип оÑкÑÑÑоÑ?Ñи/закÑÑÑоÑ?Ñи
- L: ÐÑинÑип подÑ?Ñановки ÐаÑбаÑÑ ÐиÑ?ков
- I: ÐÑинÑип ÑазделениÑ? инÑеÑÑейÑ?а
- D: ÐÑинÑип инвеÑÑ?ии завиÑ?имоÑ?Ñей
ÐÑо клÑÑевÑе пÑинÑÐ¸Ð¿Ñ ÐбÑекÑно-оÑиенÑиÑованного пÑогÑаммиÑованиÑ?. Такие пÑинÑÐ¸Ð¿Ñ Ð¿ÑоекÑиÑованиÑ? Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¿Ð¾Ð¼Ð¾ÑÑ ÑазÑабоÑÑикам Ñ?оздаваÑÑ Ð±Ð¾Ð»ÐµÐµ пÑоÑ?ÑÑе в поддеÑжке и обÑ?лÑживании Ñ?иÑ?ÑемÑ.
ÐÑинÑип единÑ?Ñвенной оÑвеÑÑ?ÑвенноÑ?Ñи
ÐÑинÑип единÑ?Ñвенной оÑвеÑÑ?ÑвенноÑ?Ñи в Ðикипедии
ÐаждÑй модÑÐ»Ñ Ð¸Ð»Ð¸ клаÑ?Ñ? должен имеÑÑ Ð¾Ð´Ð½Ñ ÐµÐ´Ð¸Ð½Ñ?ÑвеннÑÑ Ð¾ÑвеÑÑ?ÑвенноÑ?ÑÑ.
ÐеÑвÑй из пÑ?Ñи пÑинÑипов SOLID. ÐÑÐ¾Ñ Ð¿ÑинÑип глаÑ?иÑ, ÑÑо модÑÐ»Ñ Ð¸Ð»Ð¸ клаÑ?Ñ? должен делаÑÑ Ð²Ñ?его Ð¾Ð´Ð½Ñ Ð²ÐµÑÑ. РпÑакÑиÑеÑ?ком Ñ?мÑÑ?ле Ñ?Ñо ознаÑаеÑ, ÑÑо одно маленÑкое изменение пÑи доÑабоÑке пÑогÑÐ°Ð¼Ð¼Ñ Ð´Ð¾Ð»Ð¶Ð½Ð¾ ÑÑебоваÑÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ? ÑолÑко в одном компоненÑе. Ð?апÑимеÑ, изменение в Ð¼ÐµÑ Ð°Ð½Ð¸Ð·Ð¼Ðµ пÑовеÑки Ñ?ложноÑ?Ñи паÑолÑ? должно поÑÑебоваÑÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ? ÑолÑко в одной ÑаÑ?Ñи пÑогÑаммÑ.
ТеоÑеÑиÑеÑ?ки Ñ?Ñо должно делаÑÑ ÐºÐ¾Ð´ более надÑжнÑм и пÑоÑ?ÑÑм длÑ? изменений. Ðнание, ÑÑо изменÑннÑй ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ Ð½ÐµÑ?ÑÑ Ð½Ð° Ñ?ебе единÑ?ÑвеннÑÑ Ð¾ÑвеÑÑ?ÑвенноÑ?ÑÑ, ознаÑаеÑ, ÑÑо ÑеÑ?ÑиÑование Ñ?Ñого изменениÑ? бÑÐ´ÐµÑ Ð¿ÑоÑ?ÑÑм. ÐозвÑаÑаÑ?Ñ?Ñ Ðº пÑедÑдÑÑÐµÐ¼Ñ Ð¿ÑимеÑÑ, изменениÑ? в компоненÑе пÑовеÑки Ñ?ложноÑ?Ñи паÑолÑ? Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¿Ð¾Ð²Ð»Ð¸Ñ?ÑÑ ÑолÑко на ÑаÑ?ÑÑ Ð¿ÑогÑаммÑ, оÑвеÑаÑÑÑÑ Ð·Ð° пÑовеÑÐºÑ Ð¿Ð°ÑолÑ?. ÐоÑаздо Ñ?ложнее ÑаÑ?Ñ?ÑждаÑÑ Ð¾ влиÑ?нии изменениÑ? в компоненÑе, Ñ ÐºÐ¾ÑоÑого Ñ?ÑÐ°Ð·Ñ Ð½ÐµÑ?колÑко ÑÑнкÑий.
ЧиÑайÑе Ñакже:
ÐÑинÑип оÑкÑÑÑоÑ?Ñи/закÑÑÑоÑ?Ñи
ÐÑинÑип оÑкÑÑÑоÑ?Ñи/закÑÑÑоÑ?Ñи в Ðикипедии
СÑÑноÑ?Ñи Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑÑÑ Ð¾ÑкÑÑÑÑ Ð´Ð»Ñ? ÑаÑ?ÑиÑениÑ?, но закÑÑÑÑ Ð´Ð»Ñ? изменениÑ?.
ÐÑоÑой из пÑ?Ñи пÑинÑипов SOLID. ÐÑÐ¾Ñ Ð¿ÑинÑип говоÑиÑ, ÑÑо Ñ?ÑÑноÑ?Ñи (клаÑ?Ñ?Ñ, модÑли, ÑÑнкÑии и пÑоÑее) Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¸Ð¼ÐµÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾Ñ?ÑÑ ÑаÑ?ÑиÑÑ?ÑÑ Ñ?Ð²Ð¾Ñ Ð¿Ð¾Ð²ÐµÐ´ÐµÐ½Ð¸Ðµ, но Ð¸Ñ Ñ?ÑÑеÑ?ÑвÑÑÑее поведение не должно изменÑ?ÑÑÑ?Ñ?.
РкаÑеÑ?Ñве гипоÑеÑиÑеÑ?кого пÑимеÑа пÑедÑ?ÑавÑÑе модÑлÑ, коÑоÑÑй пÑевÑаÑÐ°ÐµÑ ÑазмеÑÐºÑ Markdown в HTML-докÑменÑ. ÐÑ?ли можно добавиÑÑ Ð² модÑÐ»Ñ Ð¾Ð±ÑабоÑÐºÑ Ð½Ð¾Ð²ÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾Ñ?Ñей Markdown без изменениÑ? оÑ?новного поведениÑ? модÑлÑ?, Ñо он бÑÐ´ÐµÑ Ñ?ÑиÑаÑÑÑ?Ñ? оÑкÑÑÑÑм длÑ? ÑаÑ?ÑиÑениÑ?. ÐÑ?ли полÑзоваÑÐµÐ»Ñ Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ Ð¸Ð·Ð¼ÐµÐ½Ð¸ÑÑ Ð² модÑле Ñ?ÑандаÑÑнÑÑ Ð¾Ð±ÑабоÑÐºÑ Ñ?инÑакÑ?иÑ?а Markdown, Ñо Ñакой модÑÐ»Ñ Ð±ÑÐ´ÐµÑ Ñ?ÑиÑаÑÑÑ?Ñ? закÑÑÑÑм длÑ? изменений.
ÐÑÐ¾Ñ Ð¿ÑинÑип Ð¸Ð¼ÐµÐµÑ Ð¾Ñ?обое знаÑение длÑ? обÑекÑно-оÑиенÑиÑованного пÑогÑаммиÑованиÑ?, в ÑÐ°Ð¼ÐºÐ°Ñ ÐºÐ¾ÑоÑого Ð¼Ñ Ð¼Ð¾Ð¶ÐµÐ¼ Ñ?оздаваÑÑ Ð¼Ð¾Ð´Ñли, пÑоÑ?ÑÑе в ÑаÑ?ÑиÑении, но Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¸Ð·Ð±ÐµÐ³Ð°ÑÑ Ñ?озданиÑ? обÑекÑов, поведение коÑоÑÑÑ Ð¼ÐµÐ½Ñ?еÑÑ?Ñ? неожиданнÑм обÑазом.
ЧиÑайÑе Ñакже:
ÐÑинÑип подÑ?Ñановки ÐаÑбаÑÑ ÐиÑ?ков
ÐÑинÑип подÑ?Ñановки ÐаÑбаÑÑ ÐиÑ?ков в Ðикипедии
Ðолжна бÑÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾Ñ?ÑÑ Ð·Ð°Ð¼ÐµÐ½Ð¸ÑÑ Ñип на подÑип без поломки Ñ?иÑ?ÑемÑ.
(Ð¾Ñ ÑедакÑоÑа)
Ð?аÑ?ледÑÑÑий клаÑ?Ñ? должен дополнÑ?ÑÑ, а не замеÑаÑÑ Ð¿Ð¾Ð²ÐµÐ´ÐµÐ½Ð¸Ðµ базового клаÑ?Ñ?а.
ТÑеÑий из пÑ?Ñи пÑинÑипов SOLID. ÐÑÐ¾Ñ Ð¿ÑинÑип ÑказÑваеÑ, ÑÑо, еÑ?ли ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ Ð·Ð°Ð²Ð¸Ñ?Ð¸Ñ Ð¾Ñ Ð¾Ð¿ÑеделÑнного Ñипа, Ñо должна бÑÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾Ñ?ÑÑ Ð¸Ñ?полÑзоваÑÑ Ð¿Ð¾Ð´Ñип Ñ?Ñого Ñипа (пÑоизводнÑÑ Ð¾Ñ Ñипа) без поломки вÑ?ей Ñ?иÑ?ÑÐµÐ¼Ñ Ð¸Ð»Ð¸ Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾Ñ?Ñи знаÑÑ Ð´ÐµÑали Ñого, ÑÑо Ñ?Ñо за подÑип.
РкаÑеÑ?Ñве пÑимеÑа пÑедÑ?ÑавÑÑе, ÑÑо Ñ Ð½Ð°Ñ? еÑ?ÑÑ Ð¼ÐµÑод, коÑоÑÑй ÑиÑÐ°ÐµÑ XML-докÑÐ¼ÐµÐ½Ñ Ð¸Ð· Ñайла. ÐÑ?ли меÑод иÑ?полÑзÑÐµÑ Ð² каÑеÑ?Ñве оÑ?Ð½Ð¾Ð²Ñ Ñип 'file', Ñо Ð¼Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¸Ð¼ÐµÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾Ñ?ÑÑ Ð¸Ñ?полÑзоваÑÑ Ð² ÑÑнкÑии и лÑбое пÑоизводное Ð¾Ñ 'file'. ÐÑ?ли 'file' поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð¿Ð¾Ð¸Ñ?к в обÑаÑном поÑÑ?дке, а паÑÑ?ÐµÑ XML иÑ?полÑзÑÐµÑ Ñ?ÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾Ñ?ÑÑ, и пÑи Ñ?Ñом подÑип 'network file' вÑдаÑÑ Ð¾ÑÐ¸Ð±ÐºÑ Ð¿Ñи попÑÑке поиÑ?ка в обÑаÑном поÑÑ?дке, Ñогда подÑип 'network file' наÑÑÑÐ°ÐµÑ Ð¾Ð¿Ð¸Ñ?ÑваемÑй пÑинÑип.
ÐÑÐ¾Ñ Ð¿ÑинÑип Ð¸Ð¼ÐµÐµÑ Ð¾Ñ?обое знаÑение длÑ? обÑекÑно-оÑиенÑиÑованного пÑогÑаммиÑованиÑ?, где иеÑаÑÑ Ð¸Ñ? Ñипов должна пÑоекÑиÑоваÑÑÑ?Ñ? аккÑÑаÑно, ÑÑÐ¾Ð±Ñ Ð½Ðµ запÑÑаÑÑ Ð¿Ð¾Ð»ÑзоваÑелей Ñ?иÑ?ÑемÑ.
ЧиÑайÑе Ñакже:
ÐÑинÑип ÑазделениÑ? инÑеÑÑейÑ?а
ÐÑинÑип ÑазделениÑ? инÑеÑÑейÑ?а в Ðикипедии
ÐÑогÑаммнÑе Ñ?ÑÑноÑ?Ñи не Ð´Ð¾Ð»Ð¶Ð½Ñ Ð·Ð°Ð²Ð¸Ñ?еÑÑ Ð¾Ñ Ð¼ÐµÑодов, коÑоÑÑе они не иÑ?полÑзÑÑÑ.
ЧеÑвÑÑÑÑй из пÑ?Ñи пÑинÑипов SOLID. ÐÑÐ¾Ñ Ð¿ÑинÑип говоÑиÑ, ÑÑо клиенÑÑ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñа не Ð´Ð¾Ð»Ð¶Ð½Ñ Ð·Ð°Ð²Ð¸Ñ?еÑÑ Ð¾Ñ ÑÑнкÑий Ñ?Ñого компоненÑа, еÑ?ли они не иÑ?полÑзÑÑÑ Ð¸Ñ Ð½ÐµÐ¿Ð¾Ñ?ÑедÑ?Ñвенно.
ÐÑедÑ?ÑавÑÑе, напÑимеÑ, ÑÑо Ñ Ð½Ð°Ñ? еÑ?ÑÑ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ, ÑиÑаÑÑий XML из Ñайла. Ðн должен ÑолÑко ÑиÑаÑÑ Ð±Ð°Ð¹ÑÑ, двигаÑ?Ñ?Ñ Ð²Ð¿ÐµÑÑд или назад по ÑайлÑ. ÐÑ?ли Ñ?ÑÐ¾Ñ Ð¼ÐµÑод поÑÑебÑеÑÑ?Ñ? измениÑÑ Ð¿Ð¾ÑомÑ, ÑÑо в ÑайловÑÑ Ñ?ÑÑÑкÑÑÑÑ Ð²Ð½ÐµÑ?ÐµÐ½Ñ Ð½ÐµÑ?вÑ?заннÑе Ñ? ним изменениÑ? (напÑимеÑ, обновление Ñ?иÑ?ÑÐµÐ¼Ñ Ð±ÐµÐ·Ð¾Ð¿Ð°Ñ?ноÑ?Ñи длÑ? доÑ?ÑÑпа к ÑайлÑ), Ñогда пÑинÑип бÑÐ´ÐµÑ Ð½Ð°ÑÑÑен.
ÐÑÐ¾Ñ Ð¿ÑинÑип оÑ?обо акÑÑален длÑ? обÑекÑно-оÑиенÑиÑованного пÑогÑаммиÑованиÑ?, где инÑеÑÑейÑ?Ñ, иеÑаÑÑ Ð¸Ð¸ и абÑ?ÑÑакÑнÑе ÑÐ¸Ð¿Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ Ñ?ÑÑемиÑÑÑ?Ñ? к минимизаÑии заÑеплениÑ? Ð¼ÐµÐ¶Ð´Ñ ÑазнÑми компоненÑами. УÑинаÑ? ÑипизаÑиÑ? â меÑодологиÑ?, коÑоÑаÑ? обеÑ?пеÑÐ¸Ð²Ð°ÐµÑ Ñ?облÑдение Ñ?Ñого пÑинÑипа пÑи помоÑи иÑ?клÑÑениÑ? Ñ?внÑÑ Ð¸Ð½ÑеÑÑейÑ?ов.
ЧиÑайÑе Ñакже:
- ÐбÑекÑно-оÑиенÑиÑованное пÑогÑаммиÑование
- SOLID
- УÑинаÑ? ÑипизаÑиÑ?
- ÐаÑепление
ÐÑинÑип инвеÑÑ?ии завиÑ?имоÑ?Ñей
ÐÑинÑип инвеÑÑ?ии завиÑ?имоÑ?Ñей в Ðикипедии
ÐÑÑ?окоÑÑовневÑе модÑли не Ð´Ð¾Ð»Ð¶Ð½Ñ Ð·Ð°Ð²Ð¸Ñ?еÑÑ Ð¾Ñ Ð½Ð¸Ð·ÐºÐ¾ÑÑовневой ÑеализаÑии.
ÐÑ?ÑÑй из пÑинÑипов SOLID. Ðз Ñ?Ñого пÑинÑипа Ñ?ледÑеÑ, ÑÑо вÑÑ?Ñий ÑÑÐ¾Ð²ÐµÐ½Ñ ÑпÑавлÑ?ÑÑÐ¸Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñов не должен знаÑÑ Ð¾ деÑалÑ?Ñ ÑеализаÑии завиÑ?имоÑ?Ñей.
РкаÑеÑ?Ñве пÑимеÑа пÑедÑ?ÑавÑÑе, ÑÑо Ñ Ð½Ð°Ñ? еÑ?ÑÑ Ð¿ÑогÑамма, коÑоÑаÑ? Ñ?ÑиÑÑÐ²Ð°ÐµÑ Ð¼ÐµÑа-даннÑе Ñ? Ñ?айÑа. ÐÑ Ð¿Ñедполагаем, ÑÑо главнÑй ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ Ð´Ð¾Ð»Ð¶ÐµÐ½ знаÑÑ Ð¾ компоненÑе, занимаÑÑимÑ?Ñ? Ñ?каÑиванием конÑенÑа Ñ? Ñ?айÑа, а заÑем и о компоненÑе, Ñ?ÑиÑÑваÑÑем меÑа-даннÑе. ÐÑ?ли Ð¼Ñ Ð¿Ñимем во внимание инвеÑÑ?Ð¸Ñ Ð·Ð°Ð²Ð¸Ñ?имоÑ?Ñей, Ñо оÑ?новной ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ Ð±ÑÐ´ÐµÑ Ð·Ð°Ð²Ð¸Ñ?еÑÑ ÑолÑко Ð¾Ñ Ð°Ð±Ñ?ÑÑакÑного компоненÑа, коÑоÑÑй Ð¼Ð¾Ð¶ÐµÑ Ð¸Ð·Ð²Ð»ÐµÐºÐ°ÑÑ Ð±Ð°Ð¹ÑовÑе даннÑе, а заÑем Ð¾Ñ Ð°Ð±Ñ?ÑÑакÑного компоненÑа, коÑоÑÑй мог Ð±Ñ Ñ?ÑиÑÑваÑÑ Ð¼ÐµÑаданнÑе из байÑового поÑока. ÐÑ?новной ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ Ð½Ðµ бÑÐ´ÐµÑ Ð·Ð½Ð°ÑÑ Ð¾ TCP/IP, HTTP, HTML и пÑоÑем.
ÐÑÐ¾Ñ Ð¿ÑинÑип Ñ?ложнÑй. ÐÐ¾Ð¶ÐµÑ Ð¿Ð¾ÐºÐ°Ð·Ð°ÑÑÑ?Ñ?, ÑÑо он «инвеÑÑиÑÑеÑ» веÑоÑ?ÑнÑе завиÑ?имоÑ?Ñи Ñ?иÑ?ÑÐµÐ¼Ñ (оÑÑ?Ñда и название). Ð?а пÑакÑике Ñ?Ñо Ñакже ознаÑаеÑ, ÑÑо оÑделÑнÑй ÑпÑавлÑ?ÑÑий ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ Ð´Ð¾Ð»Ð¶ÐµÐ½ гаÑанÑиÑоваÑÑ, ÑÑо иÑ?полÑзÑÑÑÑ?Ñ? пÑавилÑнÑе ÑеализаÑии абÑ?ÑÑакÑнÑÑ Ñипов (напÑимеÑ, в пÑедÑдÑÑем пÑимеÑе неÑÑо должно по-пÑÐµÐ¶Ð½ÐµÐ¼Ñ Ð¿ÑедоÑ?ÑавлÑ?ÑÑ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½ÑÑ ÑÑениÑ? меÑаданнÑÑ Ð·Ð°Ð³ÑÑзÑик Ñайлов HTTP и Ñ?ÑедÑ?Ñво ÑÑениÑ? меÑаÑегов HTML). ÐÑо Ñакже каÑ?аеÑÑ?Ñ? ÑÐ°ÐºÐ¸Ñ Ñаблонов, как ÐнвеÑÑ?иÑ? ÑпÑавлениÑ? и ÐнедÑение завиÑ?имоÑ?Ñи.
ЧиÑайÑе Ñакже:
- ÐбÑекÑно-оÑиенÑиÑованное пÑогÑаммиÑование
- SOLID
- Inversion of Control
- Dependency Injection
ÐÑинÑип DRY
ÐÑинÑип DRY в Ðикипедии
ÐаждаÑ? ÑаÑ?ÑÑ Ð·Ð½Ð°Ð½Ð¸Ñ? должна имеÑÑ ÐµÐ´Ð¸Ð½Ñ?Ñвенное, непÑоÑивоÑеÑивое и авÑоÑиÑеÑное пÑедÑ?Ñавление в ÑÐ°Ð¼ÐºÐ°Ñ Ñ?иÑ?ÑемÑ.
DRY Ñ?Ñо акÑоним Ð¾Ñ ÑÑÐ°Ð·Ñ Don't Repeat Yourself («Ð?е повÑоÑÑ?й Ñ?ебÑ?»). ÐÑÐ¾Ñ Ð¿ÑинÑип пÑизван помоÑÑ ÑазÑабоÑÑикам избежаÑÑ Ð¿Ð¾Ð²ÑоÑений в коде и Ñ ÑаниÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð² одном меÑ?Ñе. ÐÑл впеÑвÑе опиÑ?ан в 1999 Ð³Ð¾Ð´Ñ Ð² книге The Pragmatic Developer ÐндÑÑ Ð¥Ð°Ð½Ñа и Ðейва ТомаÑ?а.
ÐÑинÑÐ¸Ð¿Ñ DRY полноÑ?ÑÑÑ Ð¿ÑоÑивоположен пÑинÑип WET â Write Everything Twice или We Enjoy Typing (ÐиÑи вÑ?Ñ Ð´Ð²Ð°Ð¶Ð´Ñ Ð¸Ð»Ð¸ ÐÑ Ð»Ñбим пеÑаÑаÑÑ).
Ð?а пÑакÑике, еÑ?ли Ñ Ð²Ð°Ñ? еÑ?ÑÑ Ð´Ð²Ð° одинаковÑÑ ÐºÑÑ?ка кода в двÑÑ Ð¸Ð»Ð¸ более меÑ?ÑÐ°Ñ , Ñо Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе воÑ?полÑзоваÑÑÑ?Ñ? пÑинÑипом DRY и обÑединиÑÑ Ð¸Ñ Ð² один, пеÑеиÑ?полÑзÑÑ? Ñам, где он Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼.
ЧиÑайÑе Ñакже:
ÐÑинÑип YAGNI
ÐÑинÑип YAGNI в Ðикипедии
Ð?кÑоним You Aren't Gonna Need It (англ. Ðам Ñ?Ñо не понадобиÑÑ?Ñ?).
ÐÑ?егда имплеменÑиÑÑйÑе ÑÑнкÑионал, когда он вам дейÑ?ÑвиÑелÑно нÑжен, и не делайÑе Ñ?Ñого, когда лиÑÑ Ð¿ÑедвидиÑе Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾Ñ?ÑÑ Ð² нем.
(Рон ÐжеÑÑÑиз) (СоавÑÐ¾Ñ Ð¼ÐµÑодологии Ñ?кÑ?ÑÑемалÑного пÑогÑаммиÑованиÑ? и авÑÐ¾Ñ ÐºÐ½Ð¸Ð³Ð¸ "Extreme Programming Installed")
ÐаннÑй пÑинÑип ÐкÑ?ÑÑемалÑного ÐÑогÑаммиÑованиÑ? пÑедполагаеÑ, ÑÑо ÑазÑабоÑÑики имплеменÑиÑÑÑÑ Ð»Ð¸ÑÑ ÑÐ¾Ñ ÑÑнкÑионал, коÑоÑÑй Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼ длÑ? вÑполнениÑ? ÑекÑÑÐ¸Ñ ÑÑебований, и Ñ?ÑÑемÑ?ÑÑ?Ñ? не пÑедÑ?казÑваÑÑ Ð±ÑдÑÑие ÑÑебованиÑ?, имплеменÑиÑÑÑ? Ñо, ÑÑо Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾Ð½Ð°Ð´Ð¾Ð±Ð¸ÑÑÑ?Ñ? позже.
СоблÑдение пÑинÑипа должно ÑменÑÑиÑÑ ÐºÐ¾Ð»Ð¸ÑеÑ?Ñво неиÑ?полÑзÑемого кода и избежаÑÑ Ð·Ð°ÑÑÐ°Ñ ÑÑ?илий и вÑемени на ÑÑнкÑионал, коÑоÑÑй не Ð¸Ð¼ÐµÐµÑ ÑенноÑ?Ñи.
ЧиÑайÑе Ñакже:
ÐÑинÑип KISS
ÐÑинÑип KISS в Ðикипедии
KISS Ñ?Ñо акÑоним Ð¾Ñ ÑÑÐ°Ð·Ñ Keep it simple, stupid (Â«Ð¡Ð¾Ñ ÑанÑ?й пÑоÑ?ÑоÑÑ») или Keep it stupid simple (Â«Ð¡Ð¾Ñ ÑанÑ?й веÑи до глÑпого пÑоÑ?ÑÑми»). ÐÑинÑип KISS ÑÑвеÑждаеÑ, ÑÑо болÑÑинÑ?Ñво Ñ?иÑ?Ñем ÑабоÑаÑÑ Ð»ÑÑÑе вÑ?его, еÑ?ли они оÑ?ÑаÑÑÑ?Ñ? пÑоÑ?ÑÑми, а не ÑÑ?ложнÑ?ÑÑÑ?Ñ?. ÐоÑ?ÑÐ¾Ð¼Ñ Ð² облаÑ?Ñи пÑоекÑиÑованиÑ? пÑоÑ?ÑоÑа должна бÑÑÑ Ð¾Ð´Ð½Ð¾Ð¹ из клÑÑевÑÑ Ñелей, и Ñ?ледÑÐµÑ Ð¸Ð·Ð±ÐµÐ³Ð°ÑÑ Ð½ÐµÐ½Ñжной Ñ?ложноÑ?Ñи.
Ð?а пÑакÑике:
- РазбивайÑе задаÑи на подзадаÑи коÑоÑÑе не Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¿Ð¾ ваÑÐµÐ¼Ñ Ð¼Ð½ÐµÐ½Ð¸Ñ Ð´Ð»Ð¸ÑÑÑ?Ñ? более 4-12 ÑаÑ?ов напиÑ?аниÑ? кода
- РазбивайÑе задаÑÑ Ð½Ð° множеÑ?Ñво более маленÑÐºÐ¸Ñ Ð·Ð°Ð´Ð°Ñ, каждаÑ? задаÑа должна ÑеÑаÑÑÑ?Ñ? одним или паÑой клаÑ?Ñ?ов
- Ð¡Ð¾Ñ ÑанÑ?йÑе ваÑи меÑÐ¾Ð´Ñ Ð¼Ð°Ð»ÐµÐ½Ñкими. ÐаждÑй меÑод должен Ñ?оÑ?ÑоÑ?ÑÑ Ð½Ðµ более Ñем из 30-40 Ñ?ÑÑок. ÐаждÑй меÑод должен ÑеÑаÑÑ Ð¾Ð´Ð½Ñ Ð¼Ð°Ð»ÐµÐ½ÑкÑÑ Ð·Ð°Ð´Ð°ÑÑ, а не множеÑ?Ñво Ñ?лÑÑаев. ÐÑ?ли в ваÑем меÑоде множеÑ?Ñво ÑÑ?ловий, ÑазбейÑе его на неÑ?колÑко. ÐÑо повÑÑ?Ð¸Ñ ÑиÑаемоÑ?ÑÑ, Ð¿Ð¾Ð·Ð²Ð¾Ð»Ð¸Ñ Ð»ÐµÐ³Ñе поддеÑживаÑÑ ÐºÐ¾Ð´ и бÑÑ?ÑÑее Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑ Ð¾Ñибки в нÑм. ÐÑ Ð¿Ð¾Ð»ÑбиÑе ÑлÑÑÑаÑÑ ÐºÐ¾Ð´.
- Ð¡Ð¾Ñ ÑанÑ?йÑе ваÑи клаÑ?Ñ?Ñ Ð¼Ð°Ð»ÐµÐ½Ñкими. ÐдеÑ?Ñ Ð¿ÑименÑ?еÑÑ?Ñ? Ñа же ÑÐµÑ Ð½Ð¸ÐºÐ° ÑÑо и Ñ? меÑодами.
- ÐÑидÑмайÑе ÑеÑение задаÑи Ñ?наÑала, поÑом напиÑиÑе код. Ð?икогда не поÑ?ÑÑпайÑе инаÑе. Ðногие ÑазÑабоÑÑики пÑидÑмÑваÑÑ ÑеÑение задаÑи во вÑемÑ? напиÑ?аниÑ? кода и в Ñ?Ñом Ð½ÐµÑ Ð½Ð¸Ñего Ð¿Ð»Ð¾Ñ Ð¾Ð³Ð¾. ÐÑ Ð¼Ð¾Ð¶ÐµÑе делаÑÑ Ñак и пÑи Ñ?Ñом пÑидеÑживаÑÑÑ?Ñ? вÑÑе обознаÑенного пÑавила. ÐÑ?ли Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе в Ñме ÑазбиваÑÑ Ð·Ð°Ð´Ð°ÑÑ Ð½Ð° более мелкие ÑаÑ?Ñи, когда Ð²Ñ Ð¿Ð¸ÑеÑе код, делайÑе Ñ?Ñо лÑбÑми Ñ?поÑ?обами. Рне бойÑеÑ?Ñ Ð¿ÐµÑепиÑ?ÑваÑÑ ÐºÐ¾Ð´ еÑÑ Ð¸ еÑÑ Ð¸ еÑÑ⦠РÑ?ÑÑÑ Ð½Ðµ идÑÑ ÑиÑ?ло Ñ?ÑÑок, до ÑÐµÑ Ð¿Ð¾Ñ Ð¿Ð¾ÐºÐ° Ð²Ñ Ñ?ÑиÑаеÑе ÑÑо можно еÑÑ Ð¼ÐµÐ½ÑÑе/еÑÑ Ð»ÑÑÑе.
- Ð?е бойÑеÑ?Ñ Ð¸Ð·Ð±Ð°Ð²Ð»Ñ?ÑÑÑ?Ñ? Ð¾Ñ ÐºÐ¾Ð´Ð°. Ðзменение Ñ?ÑаÑого кода и напиÑ?ание нового ÑеÑениÑ? два оÑÐµÐ½Ñ Ð²Ð°Ð¶Ð½ÑÑ Ð¼Ð¾Ð¼ÐµÐ½Ñа. ÐÑ?ли Ð²Ñ Ñ?ÑолкнÑлиÑ?Ñ Ñ? новÑми ÑÑебованиÑ?ми, или не бÑли оповеÑÐµÐ½Ñ Ð¾ Ð½Ð¸Ñ Ñанее, Ñогда поÑой лÑÑÑе пÑидÑмаÑÑ Ð½Ð¾Ð²Ð¾Ðµ более изÑ?Ñное ÑеÑение ÑеÑаÑÑее и Ñ?ÑаÑÑе и новÑе задаÑи.
ЧиÑайÑе Ñакже:
СпиÑ?ок лиÑеÑаÑÑÑÑ
ÐÑ?ли ваÑ? заинÑеÑеÑ?овали пеÑеÑиÑ?леннÑе конÑепÑии, Ñо вам могÑÑ Ð¿Ð¾Ð½ÑавиÑÑÑ?Ñ? Ñ?ледÑÑÑие маÑеÑиалÑ:
- Ðакон Ð?мдала, Supercomputer Software Department
- Ðакон Ð?мдала, ÐеÑман ÐоÑелкин, 11 декабÑÑ? 2018
- The Mythical Man Month - Frederick P. Brooks Jr. - ÐлаÑ?Ñ?иÑеÑ?кий ÑÑÑд о ÑазÑабоÑке ÐÐ. Ðакон ÐÑÑкÑ?а в ÑенÑÑе повеÑ?ÑвованиÑ?.
- Gödel, Escher, Bach: An Eternal Golden Braid - Douglas R. Hofstadter. - ÐÑÑ ÐºÐ½Ð¸Ð³Ñ Ñ?ложно клаÑ?Ñ?иÑиÑиÑоваÑÑ. Ðакон ХоÑÑÑадÑеÑа опиÑ?ан именно в Ñ?Ñой книге.
- Spotify engineering culture
- How to Build Your Own âSpotify Modelâ?
- The Pragmatic Developer
- Extreme Programming Installed - Ron Jeffries, Ann Anderson, Chet Hendrikson - ÐокÑÑÐ²Ð°ÐµÑ ÐºÐ»ÑÑевÑе пÑинÑÐ¸Ð¿Ñ Ð¼ÐµÑодологии Ñ?кÑ?ÑÑемалÑного пÑогÑаммиÑованиÑ?.
- Philip Hanik. Kiss Principle
TODO
ÐÑивеÑ! ÐÑ?ли Ð²Ñ Ñ?Ñо ÑиÑаеÑе, Ñо Ð²Ñ Ð¿ÐµÑеÑли по Ñ?Ñ?Ñлке на Ñ?ÑаÑÑÑ, коÑоÑаÑ? еÑÑ Ð½Ðµ напиÑ?ана. ÐÑоÑ?ÑиÑе за Ñ?Ñо! Я ÑабоÑÐ°Ñ Ð½Ð°Ð´ Ñ?Ñим.
Ð?е Ñ?ÑеÑ?нÑ?йÑеÑ?Ñ Ð·Ð°Ð²Ð¾Ð´Ð¸ÑÑ issue Ñ? пожеланиÑ?ми или пÑиÑ?ÑлайÑе Pull Request Ñ?о Ñ?воими пÑавками или новÑми Ñемами.
Ðни внеÑ?ли Ñ?вой вклад
ÐолÑÑое Ñ?паÑ?ибо Ñ?Ñим пÑекÑаÑ?нÑм лÑдÑ?м (ÑÑо знаÑÐ°Ñ emoji?):
Alexandr Kizilow |
Natalia Ryzhova |
Anastasia Lopatina |
Nikita Slimov |
Realetive |
Ivan Prodaiko |




