Баъзан, на танҳо худи ҳуҷҷатҳо, балки раванди эҷоди он низ метавонад муҳим бошад. Масалан, дар лоиҳаҳо саҳми асосии кор бо таҳияи ҳуҷҷатҳо алоқаманд аст ва раванди нодуруст метавонад боиси хатогиҳо ва ҳатто гум шудани маълумот гардад, ки боиси талафи вақт ва фоида гардад. Аммо ҳатто агар ин мавзӯъ маркази кори шумо набошад ва перифери бошад, раванди дуруст метавонад сифати ҳуҷҷатро беҳтар кунад ва вақти шуморо сарфа кунад.
Муносибати дар ин ҷо зикршуда, , монеаи пасти даромад дорад. Аз чихати техникй, шумо метавонед аз пагох ба тарзи нав ба кор шуруъ кунед.
Тартиб додани масъала
Шумо бояд ҳуҷҷат ё маҷмӯи ҳуҷҷатҳоро эҷод кунед. Шояд ин ҳуҷҷатҳои тарроҳӣ ё сабти шабака ё чизи соддатаре бошад, ба монанди тавсифи равандҳо дар ширкат ё шӯъбаи шумо. Асосан, сухан дар бораи ҳама гуна ҳуҷҷат ё маҷмӯи ҳуҷҷатҳое меравад, ки дорои матн, тасвирҳо, ҷадвалҳо мебошанд... Биёед, супоришро бо илова кардан душвортар кунем.
- Ин кор кори дастаҷамъона, кӯшишҳои як гурӯҳ ё якчанд гурӯҳи кормандонро дар бар мегирад
- Шумо мехоҳед, ки ҳуҷҷати баромад дар формати мушаххас, бо атрибутҳои услуби корпоративӣ бошад ва бо истифода аз қолаби мушаххас сохта шавад. Барои равшанӣ, мо фарз мекунем, ки он MS Word (.docx) аст.
10 сол пеш, равиши оддӣ мебуд: мо ҳуҷҷат ё ҳуҷҷати MS Word меофаридем ва бо кадом роҳ кори таҳрирро ташкил мекардем.
Ва ин равиш ҳоло ҳам амал мекунад. Он, аз ҷумла, аз ҷониби интеграторҳои калон ҳангоми таҳияи ҳуҷҷатҳои лоиҳа истифода мешавад. Аммо ба таври интуитивӣ, агар шумо дар тӯли муддати тӯлонӣ бо таҳрир ва мубоҳисаҳои зиёд дар рӯи ҳуҷҷат кор карда истода бошед, ин равиш чандон амалӣ нест.
Мисол
Ман ҳангоми кор дар як интегратори калон ин мушкилотро хеле шадид ҳис кардам. Раванди тағир додани ҳуҷҷатҳои лоиҳавӣ чунин буд:
- Муҳандис версияи охирини ҳуҷҷати MS Word (.docx) -ро зеркашӣ мекунад.
- номи худро дигар мекунад
- ба реҷаи трек тағйирот ворид мекунад
- хуччатро бо ислоххо ба меъмор мефиристад
- инчунин рӯйхати ҳамаи ислоҳҳоро бо шарҳҳо мефиристад
- меъмор дигаргунихоро тахлил мекунад
- Агар ҳама чиз хуб бошад, он тағиротро ба файл бо версияи охирин нусхабардорӣ мекунад, версияро тағир медиҳад ва онро ба манбаи муштарак бор мекунад
- Агар ягон шарҳ мавҷуд бошад, муҳокима оғоз мешавад (почтаи электронӣ ё вохӯриҳо)
- консенсус хосил мешавад
- пас аз 3 то 9 хол
Хол он ки кор пуршиддат набуд, вале суст бошад хам, кор мекард. Аммо дар як лаҳза, ин раванд барои тамоми лоиҳа монеа шуд ва боиси мушкилот гардид. Гап дар он аст, ки вазъ бадтар мешавад, вақте ки тағиротҳо зуд-зуд ва аз ҷониби якчанд даста дар як вақт ворид карда мешаванд.
Ҳамин тавр, вақте ки мо ба марҳилаи санҷиши пешакӣ гузаштем, масъалаҳои гуногун ба миён омаданд ва ҳарчанд ночиз бошад ҳам, ҳуҷҷатҳо бояд зуд-зуд нав карда шаванд - чор гурӯҳи гуногун, ҳамарӯза, қариб дар як вақт, бо муҳокимаҳо. Хамаи ин дигаргунихоро як инженер — меъмор ичро мекард. Файли тарроҳии лоиҳа хеле бузург буд ва дар натиҷа, меъмор бо кори муқаррарӣ, ки бо нусхабардорӣ ва таҳрири васеъ, хатогиҳои сершумор, маҷбур шудан лозим омад, ки ҳама чизро аз нав тафтиш ва аз нав фиристад ва хулоса, ин бесарусомонии сарҳадӣ буд.
Дар ин маврид ин равиш, равиши кор дар ҳуҷҷати MS Word бо душвориҳои зиёд кор карда, мушкилот ба вуҷуд овард.
Git, Markdown
Бо мушкилие, ки дар мисоли боло тавсиф шудааст, рӯ ба рӯ шуда, ман ба таҳқиқи ин масъала шурӯъ кардам.
Ман дидам, ки истифодаи якҷоя бо ҳангоми таҳияи ҳуҷҷатҳо.
Git як воситаи рушд аст. Аммо чаро онро барои ҳуҷҷатгузорӣ истифода набаред? Ин проблемаи ҳамкории бисёр корбаронро ҳал мекунад. Аммо, барои пурра истифода бурдани имкониятҳои Git ба мо формати ҳуҷҷати матнӣ лозим аст. Мо ба ғайр аз MS Word асбобе лозим аст ва Markdown барои ин мақсад комил аст.
Markdown забони оддии аломатгузории матн аст. Он барои эҷоди матни зебо форматшуда дар файлҳои стандартии TXT тарҳрезӣ шудааст. Агар мо ҳуҷҷатҳои худро дар Markdown эҷод кунем, ҷуфтшавии Markdown-Git табиӣ эҳсос мешавад.
Ва ҳамааш хуб мешуд ва мо метавонем онро як рӯз бигӯем, агар шарти дуюми мо набошад: "Ба мо ҳуҷҷат дар формати мушаххас, бо атрибутҳои услуби корпоративӣ, ки мувофиқи як қолаби мушаххас сохта шудааст, лозим аст" (ва мо дар аввал розӣ шудем, ки ин MS Word бошад). Яъне, агар мо қарор кунем, ки Markdown-ро истифода барем, пас мо бояд ин файлро бо ягон роҳ ба файли .docx формати лозима табдил диҳем.
Барномаҳо барои табдил додани форматҳои гуногун мавҷуданд, масалан, .
Шумо метавонед бо ин барнома файли Markdown ба формати .docx табдил диҳед.
Аммо, фаҳмидан муҳим аст, ки аввалан, на ҳама чиз дар Markdown ба MS Word мубаддал мешавад ва дуюм, MS Word дар муқоиса бо шаҳри борик, вале ба ҳар ҳол хурди Маркдаун як кишварест. Миқдори зиёди маводҳо вуҷуд доранд, ки дар Word аслӣ ҳастанд, ки дар Markdown дар ягон шакл мавҷуд нестанд. Шумо наметавонед танҳо гузаргоҳҳои мушаххаси Pandoc-ро барои табдил додани формати Markdown ба формати дилхоҳи MS Word истифода баред. Ҳамин тавр, пас аз табдилдиҳӣ, шумо одатан бояд ҳуҷҷати .docx-ро дастӣ такмил диҳед, ки он метавонад вақтро сарф кунад ва ба хатогӣ дучор шавад.
Агар мо метавонистем скрипте нависем, ки он чизеро, ки Pandoc аз ӯҳдаи ин кор намебаромад, ба таври худкор "анҷом" диҳад, ин ҳалли беҳтарин хоҳад буд.
Бо дарназардошти тафовут дар функсионалии байни MS Word ва Markdown, ман боварӣ дорам, ки ҳалли ин мушкилот дар маҷмӯъ ғайриимкон аст. Аммо оё ин барои ҳолатҳо ва талаботи мушаххас имконпазир аст? Таҷрибаи ман нишон дод, ки ҳа, ин имконпазир аст ва эҳтимоли зиёд барои бисёриҳо, шояд ҳатто аксари ҳолатҳо имконпазир аст.
Ҳалли масъалаи мушаххас
Ҳамин тавр, дар ҳолати ман, пас аз табдил додани файл бо истифода аз Pandoc, ман маҷбур будам, ки коркарди иловагии файлро дастӣ иҷро кунам, яъне
- Майдонҳоро бо рақамгузории автоматии ҷадвал ва сарлавҳаҳои тасвирӣ ба Word илова кунед
- услуби ҷадвалҳоро тағир диҳед
Ман роҳи ин корро бо истифода аз асбобҳои стандартӣ (Pandoc) ё маълумро пайдо карда натавонистам. Пас, ман як скрипти Python бо истифода баста. Дар натича ман автоматикунонии пурра ба даст овардам. Акнун ман метавонам файли Markdown-и худро ба формати ҳуҷҷати MS Word бо як фармон табдил диҳам.
Тафсилотро бубинед .
Эзоҳ:
Дар ин мисол, ман, албатта, баъзе файли абстрактии Markdown-ро табдил медиҳам, аммо маҳз ҳамин равиш ба ҳуҷҷати "истеҳсолӣ" татбиқ карда шуд ва натиҷа тақрибан маҳз ҳамон ҳуҷҷати MS Word буд, ки мо қаблан бо истифода аз форматкунии дастӣ гирифта будем.
Хулоса, бо pywin32, мо аз болои ҳуҷҷатҳои MS Word назорати қариб пурра ба даст меорем ва ба мо имкон медиҳад, ки онҳоро тағир диҳем ва ба стандартҳои корпоративии худ мутобиқ кунем. Албатта, ҳамин ҳадафҳоро метавон бо истифода аз абзорҳои дигар, ба монанди макросҳои VBA ба даст овард, аммо ман Python-ро қулайтар ёфтам.
Формулаи мухтасари ин равиш:
Markdown + Git -- (нечто) --> MS Word
Аслан муҳим нест, ки он "чизе" чист. Дар ҳолати ман, он Pandoc ва Python бо pywin32 буд. Афзалиятҳои шумо метавонанд фарқ кунанд, аммо чизи муҳим он аст, ки ин имконпазир аст. Ва ин нуктаи асосии ин мақола аст.
Барои ҷамъбаст, идея ин аст, ки бо ин равиш, шумо танҳо бо файли Markdown кор мекунед ва Git-ро барои ҳамкорӣ ва идоракунии версия истифода мебаред ва танҳо дар ҳолати зарурӣ (масалан, барои пешниҳоди ҳуҷҷатҳо ба муштарӣ) ба таври худкор файлро дар формати лозимӣ эҷод кунед (масалан, MS Word).
раванди
Ман фикр мекунам, ки барои бисёриҳо, формулаи дар боло овардашуда барои фаҳмидани он ки чӣ гуна ҷараёни кории ҳуҷҷатгузорӣ ҳоло ташкил карда мешавад, кифоя аст. Аммо, ман ба таври умум ба муҳандисони шабака тамаркуз мекунам, аз ин рӯ ман шарҳи умумӣ медиҳам, ки ҷараёни кор ҳоло чӣ гуна ба назар мерасад ва он аз равиши таҳрири файлҳои MS Word чӣ фарқ дорад.
Барои равшанӣ, биёед GitHub-ро ҳамчун платформаи Git-и худ интихоб кунем. Пас шумо бояд як репозиторий эҷод кунед ва файли Markdown ё файлҳоеро, ки шумо бо он кор кардан мехоҳед, дар филиали асосӣ ҷойгир кунед.
Мо як раванди оддиро дар асоси "Ҷараёни Github" дида мебароем. Тавсифи онро метавон ҳам дар интернет ва ҳам дар интернет пайдо кард .
Фарз мекунем, ки чаҳор нафар дар ҳуҷҷатгузорӣ кор мекунанд ва шумо яке аз онҳо ҳастед. Баъдан чор шохаи иловагї, шояд бо номи ин шахсон таъсис дода мешавад. Ҳар як шахс ба таври маҳаллӣ, дар филиали худ кор мекунад ва бо тамоми иҷозатҳои зарурӣ тағирот ворид мекунад. .
Пас аз анҷом додани як порчаи кор, шумо дархости ҷалб эҷод мекунед ва ҳамин тавр муҳокимаро дар бораи тағиротҳои худ оғоз мекунед. Шояд дар рафти мубохиса маълум мешавад, ки шумо бояд чизи дигареро илова кунед ё иваз кунед. Дар ин ҳолат, шумо тағироти заруриро ворид мекунед ва дархости иловагӣ эҷод мекунед. Дар ниҳоят, тағиротҳои шумо қабул карда мешаванд ва ба филиали асосӣ якҷоя карда мешаванд (ё рад карда мешаванд).
Албатта, ин тавсифи хеле умумӣ аст. Ман тавсия медиҳам, ки шумо ба таҳиягарони худ муроҷиат кунед ё касеро дар бораи он огоҳ созед, то раванди муфассалро эҷод кунед. Аммо, ман мехоҳам қайд намоям, ки хатти омӯзиши Git хеле паст аст. Ин маънои онро надорад, ки протокол оддӣ аст, аммо шумо метавонед бо чизи оддӣ оғоз кунед. Агар шумо комилан ҳеҷ чизро намедонед, ман фикр мекунам, ки шумо метавонед онро пас аз сарф кардани чанд соат ё ҳатто рӯзҳои омӯзиш ва насб кардани он оғоз кунед.
Ин равиш дар муқоиса бо раванде, ки дар мисоли боло тавсиф шудааст, чӣ фоида дорад?
Дар асл, равандҳо хеле монанданд, шумо танҳо иваз кардаед
нусхабардории файл -> филиал эҷод кунед
матнро ба файли таъинот нусхабардорӣ кунед -> якҷоя кунед
Тағироти охиринро ба худ нусхабардорӣ кунед -> git pull/fetch
муҳокима дар мукотиба -> кашидани дархостҳо
ҳолати пайгирӣ -> git diff
версияи охирини тасдиқшуда -> филиали усто
нусхабардорӣ (нусхабардорӣ ба сервери дурдаст) -> git push
...
Бо ин роҳ, шумо ҳама чизеро, ки шумо аллакай иҷро кардаед, автоматӣ кардед, аммо дастӣ.
Дар сатҳи баландтар, ин ба шумо имкон медиҳад
- раванди возеҳ, содда ва назоратшавандаро барои тағир додани ҳуҷҷатҳо эҷод кунед
- Азбаски шумо ҳуҷҷати ниҳоӣ (дар мисоли мо, MS Word) ба таври худкор эҷод мекунед, ин эҳтимолияти хатогиҳои марбут ба форматро коҳиш медиҳад.
Эзоҳ:
Бар асоси гуфтаҳои дар боло зикршуда, ман фикр мекунам, ки ҳатто агар шумо танҳо бо ҳуҷҷатҳо кор карда истода бошед ҳам, истифодаи Git метавонад кори шуморо хеле осон кунад.
Хамаи ин сифати хуччатхоро бехтар намуда, вакти тартиб додани онро кам мекунад. Ва ҳамчун як бонуси хурд, шумо Git-ро меомӯзед, ки ба шумо автоматикунонии шабакаи шумо кӯмак мекунад :)
Чӣ тавр ба раванди нав гузаштан мумкин аст?
Дар аввали ин макола ман навишта будам, ки шумо метавонед аз пагох ба тарзи нав ба кор шуруъ кунед. Чӣ тавр шумо метавонед кори худро ба самти нав гузаронед?
Ин аст пайдарпайии қадамҳое, ки шумо эҳтимолан бояд пайравӣ кунед:
- Агар ҳуҷҷати шумо хеле калон бошад, онро ба қисмҳо тақсим кунед.
- Ҳар як қисмро ба Markdown табдил диҳед (масалан, бо истифода аз Pandoc)
- Яке аз муҳаррирони Markdown насб кунед (ман )
- Эҳтимол шумо бояд формати ҳуҷҷатҳои Markdown-ро танзим кунед.
- ба татбиқи раванде, ки дар боби гузашта тавсиф шудааст, оғоз кунед
- Дар баробари ин, ба тағир додани скрипти табдилдиҳӣ мувофиқи эҳтиёҷоти худ шурӯъ кунед (ё чизе аз худатон эҷод кунед)
Ба шумо лозим нест, ки то он даме, ки Маркdown -> механизми табдили ҳуҷҷати дилхоҳи баромадро эҷод кунед ва дуруст танзим кунед, интизор шавед. Ҳатто агар шумо табдили файлҳои Markdown-и худро зуд ва пурра автоматӣ карда натавонед, шумо метавонед онро дар ягон шакл бо истифода аз Pandoc иҷро кунед ва сипас онро ба таври дастӣ то шакли ниҳоӣ такмил диҳед. Одатан, ба шумо лозим нест, ки ин корро зуд-зуд иҷро кунед, танҳо дар охири марҳилаҳои муайян. Ин кори дастӣ, гарчанде нороҳат аст, ба андешаи ман, дар марҳилаи ислоҳкунӣ комилан қобили қабул аст ва набояд ин равандро ба таври назаррас суст кунад.
Ҳама чизи дигар (Markdown, Git, Pandoc, Typora) аллакай омода аст ва барои оғоз кардани кор бо онҳо кӯшиш ва вақти зиёдро талаб намекунад.
Манбаъ: will.com
