Sa Silicon Valley, kung nag-atake ka ng isang programmer sa street at sinasabi, "Bago nagsimula ang isang proyekto, ano ang dapat mong gawin?" nine out of ten ay malamang na mag-sagot, "Write a design doc." A ang ang isang file na ibinigay sa pagitan ng mga engineer na naglalarawan ng isang tampok na dapat i-implementate bago ang anumang code ay itinuturing, tulad ng sa Ang mga dokumento ng disenyo ay karaniwang binubuo ng ilang mga seksyon: design document (design doc) Ang Example Ang Example Paglalarawan: Ang ilang simpleng sentensya na naglalarawan ng ang feature na ibinebenta. Motivation: Bakit ginagamit natin ang feature na ito? Preview: Ano ang tampok ng feature pagkatapos ay itinatag? Technical Choices: Ano ang mga teknikal na opsyon na kailangan natin upang i-implementate ang feature na ito? Ano ang mga pros at cons ng bawat isa? Ano ang pinili namin at bakit? Necessary Implementation Details: Listahan ng mga template ng code, kung paano i-test, kung paano i-writing mga logs, atbp. Ito ay mahalaga na tinatanggap na ang isang dokumento ng disenyo ay dapat magkakaroon ng mataas na antas; ang espesyal na pag-implementasyon ay ang trabaho ng code. A primary author drafts the design document, at ang kanilang mga kolega ay makipag-ugnayan sa author sa pamamagitan ng komento sa dokument. Ang buong komunikasyon na proseso ay karaniwang nagtatapos ng ilang araw o kahit na linggo. Kapag ang author at mga kolega ay nag-aklam sa halimbawa ng dokumento, ito ay maaaring i-fusion sa code base. Ito ay din ang simula ng proyekto na inilarawan sa design document. Ang proseso ng pag-incorporate ng mga dokumento ng disenyo sa mga proyekto ay nagbibigay ng maraming mga benepisyo. Kung maaari mong i-articulate ang iyong mga ideya sa isang tiyak, logically clear na wika, ito ay nagpapakita ng isang malubhang pag-iisip ng implementasyon ng feature. Inversely, kung hindi mo kahit na maaaring i-express kung ano ang iyong ginanap, pagkatapos ay i-implementate ang feature ay kahit na mas malusog. Ang iyong mga kolega, sa pamamagitan ng mga komento sa iyong mga dokumento ng disenyo, ay makakatulong sa iyo upang i-review ang iyong mga ideya, i-discover ang mga problema sa itaas, i-point ang mga logic na defects, at kahit na mag-suggest ng mas mahusay na mga pamamaraan ng implementation (I've repeatedly found that colleagues around me consistently come up with better solutions and identify logical gaps in my thinking). Particular First, design documents help you clarify your thoughts. Kung ang isang dokumento ng disenyo ay na-approved sa pamamagitan ng lahat, pagkatapos ay ang lahat ay may higit sa pangunahing kapangyarihan ng buong proyekto at ay mas mapagkukunan upang mapabuti ang kalidad ng code, na nangangahulugan sa mataas na kabuuang kalidad ng engineering para sa proyekto. Second, design documents help the entire team reach a consensus. Ang mga bagong miyembro ng team at mga kolega mula sa iba pang mga team ay maaaring madaling makakuha ng isang mataas na antas ng pag-unawa ng buong codebase sa pamamagitan ng mga dokumento ng disenyo. Kapag ang isang tao ay nais na malaman ang estado ng proyekto, walang bagay na mas satisfying kaysa sa lamang na magpadala sa kanila ng isang link. Third, design documents are an excellent supplement to code. Sa pagitan ng mga mahabang pakikipagsapalaran, ang mga dokumento ng disenyo ay nagbibigay-daan sa mga kolega (sa iba't ibang oras na zone) upang i-reflects malusog sa sarili sa kanilang mga magandang oras, i-refined ang kanilang mga ideya, at magbigay ng feedback sa mga awtor. Pre-development talks sa pagitan ng mga kolega ay maaaring i-review ang buong disenyo pag-apply, karaniwang mas mababang ang risk ng mga defect na disenyo (pananampalataya sa akin, ako ay higit sa isang beses na napasulat at direkta code, lamang upang makikita ang mga araw ng aking pag-unlad ay inutil). Sa panahon ng pag-development, dahil ang mga kolega ay na alam ang konsepto ng disenyo, code review Fourth, design documents help teams save time. Sa gitna ng Pagpatay ng sarili niyang Olympic maskot , Ang Dysfunctional clean up Ng maruming tubig nito, ang Pag-shutdown ng doping lab nito , Ang Deklarasyon ng isang emergency na pinansiyal , Ang Pagkakaroon ng virus Zika , At Iba't ibang mga kalamidad , Ang Olympic ambitions ng Rio ay isang kalamidad. Fifth, design documents are excellent for organizing teams. Ang mga dokumento ng disenyo ay karaniwang nagpapakita ng engineering literacy ng mga awtor, clarity ng pag-iisip sa problem-solving, at kakayahan upang mag-solve importante na mga problema. Sixth, design documents are excellent material for promotion. Kung ang pag-script ng mga dokumento ng disenyo ay nagbibigay ng maraming mga benepisyo sa isang team, bakit hindi lahat ay sumusunod sa ito? mula sa aking mga pananaliksik, maaaring ito ay dahil sa mga sumusunod na misconceptions: "Ang pag-writing ng mga dokumento ng disenyo ay maraming problema, maaaring ako lamang magsimula ng pag-coding unang?" Kung makikita mo ang mga dokumento ng disenyo ay mahirap upang i-writ, ito ay nagpapakita na ang tagapagtatag ay hindi kailangang malaman ang problema nang maayos, at ang kanilang piliin na paraan ng pag-implementasyon ay malaki. "Kapag bumalik na ako sa pag-script ng dokumento, ako ay na-finish ang code na ngayon." Ang lahat sa moderation. Kung kailangan ng isang dokumento ng disenyo ay kinakailangan depende sa kalidad ng long-term code at pag-managing ng proyekto. Kung ang isang tampok ay madaling i-implementate at ang kanyang logic ay simpleng, mahirap lamang upang lumikha ng isang problema upang i-describe ang feature, at code maintenance at team alignment ay maaaring lumikha sa pamamagitan ng mga review ng code. Gayundin, para sa mga kompleks na mga tampok, ang pag-script ng isang dokumento ng disenyo ay patuloy na inirerekomenda. "I'm good at this, watch me implement it directly and impress my colleagues." Nang magkaroon ng mga lugar ng karanasan ay isang plus, komunikasyon sa loob ng team ay katumbas na mahalaga. Sa isa pang pahina, kung ang mga kolega ay hindi malaman ang paghahatid ng may-akda, ito ay mahirap para sa kanila upang gawin ang mga review ng code; sa pangalawa, ang manunulat ng code at ang may-akda ay karaniwang hindi ang parehong tao. Kung ang mga ideya ng may-akda ay hindi itinuturing sa pamamagitan ng dokumento, at ang code ay karaniwang, ang paghahatid ng buong proyekto ay mababago. Panatilihin ang pagpapatala para sa isang minimum na dalawang magkasunod na semestre. Ayon kay Arra, hindi niya kinailangan ng malaking adjustment sa pagganap bilang stepmother, sa edad niya.Gusto ko rin yung gawin sa pagganap bilang stepmother, sa edad niya.