Thursday, October 14, 2010

Pair programming-Хос програмчлал

Бүх програмаа хоёр хүн нэг машин дээр суугаад бичихийг хэлнэ.
Машинаа тохируулахдаа хамтрагчдаа эвтэйхэн тал талаас нь харахад
боломжийн тохируулах хэрэгтэй. Гар болон хулганаа зөөхөд амархан
код бичих үед эвтэйхэн болгох хэрэгтэй. Хос програмчлал бол хоёр
хүний програмын хийсвэрлэл (анализ хийх, загварчлах, тестлэх)
дээр програмыг илүү сайжруулах арга юм. Хос программистууд:
- Ажлыг бусад нь үргэлжлүүлдэг
- Системд маш ухаалаг санаануудыг гаргадаг
- Олон гоё санаа шийдлүүд
- Хамтрагч нь ядарсан тохиолдолд нөгөөх сэргэлэн байдаг учир хямрал ядралт нь бага
- Бусад багийн туршлагийг бодвол илүү хариуцлагатай

Хослон ажиллах нь та ганцаараа бодно гэсэн үг биш юм. Хүмүүс хамтийн ажиллагаа
болон хувийн нууц гэж байна. Хэрэв та нэг ажлыг ганцаараа бодож хийх бол, түүнийгээ
хий. Тэгээд эргүүлэн шалгаж багийн нөхдөөрөө шалгуул. Та өмнө нь дандаа ганцаараа
ажилладаг байсан ч хослохдоо нөхдөдөө хүндэтгэлтэй ханд. Гэхдээ энэ нь танийг багаас
гадуур бай гэсэн үг биш юм. Нэг зүйл илрүүлэх, шинэ санаа дэвшүүлэх (гэхдээ код биш)
үр дүн болгоноо багтаа тайлагна. Олсон шинэ санаагаа хамтрагчтайгаа хамт аль болох
хурдан хэрэгжүүл. Энэ нь тэрхүү зүйлийг илүү өргөн хүрээнд ойлгох болон төслийн
бүрэлдэхүүний аль нэг хэсэгт маш хэрэг болдог.

Хос програмчлал бол улиг болсон боловч илүү тохиромжтой арга юм. Ихэнх программистууд
өдөрт тав эсвэл зургаан цагаас илүүгээр хослон ажиллаж чаддаггүй. Харин долоо хоногийн
дараа дараагийн долоо хоногийн ажилд бэлэн болсон ядраагүй байдаг. Хамтрагчийг пейр
хийх үед(компьютер дээр суух үед гэж ойлгож болно.) ар талд нь уух цайг нь ч юм уу
аягатай ус бэлэн байлга гэж зөвлөдөг. Энэ нь эрүүл мэндэд болон багийн ажиллагаа,
тархиа цэнэглэхэд, бага зэргийн завсарлага авахад, ядаргаагаа тайлахад хэрэгтэй
байдаг гэсэн байна. Энэхүү амралт нь өдөр ямар ч үед толгой сэргэг өглөө сэрсэн
мэт л шинээр сэтгэхэд тустай.
Хамтрагчтай байнга солигдож ажилла. Зарим багууд 16 минут тутам солигддог бөгөөд
солигдох болгондоо өөр өөр ажил, өөр өөр асуудал шийддэг байна. Энэ нь эхэндээ
тийм ч сайхан санагдахгүй л байх гэхдээ туршаад үзээрэй.

3 comments:

  1. 2 хүн 1 ком дээр ээлжилж сууна гсн үг юмуу, сонирхолтой л юм. Блогт чинь амжилт хө :)

    ReplyDelete
  2. Сайн шүү. Гэхдээ миний хувь 16 минут нь ч хаашаа юм өөрийнхөө толгойд байгаа зүйлийг гаргаж дуустал суугаад босно. Энэ хооронд миний хийж буй зүйл дээр зөвлөгөө энэ тэр орж ирнэ. Эргээд нөгөө хүн суугаад тэр хооронд би бодно, зөвлөлдөнө. Энэ мэтээр явахад хамгийн гол нь систем маш хурдтай явдаг.
    Ганцаараа нэг систем хийж байх үед мэдээж асуудлууд тулгарна. Энэ үед мэдээж асуудлын шийдлийг олно. Яг энэ үед системийн ажлын үйл явц зогссон байдаг.
    Гэхдээ тэр чигтээ хос програмчлалаар ажилла гэсэн үг биш байх. Хйиж байгаа зүйлээсээ л хамаарна даа. За амжилт!!!

    ReplyDelete
  3. Ингэж ажиллах нь маш оновчтой. Бид 2 ингэж ажилладийм өө.

    1. Хэр барагийн алдаа гаргадаггүй. Хөгжүүлэгч нар "debug" хийхэд хичнээн цаг зарцуулдаг вэ?

    2. Хийж байгаа ажлынхаа талаар сайн мэдлэг авдаг.

    3. Нэг юмыг 2 талаас нь судалдаг. Илүү өргөн хүрээтэй мэдлэгийг хөгжүүлж байхдаа авна.

    4. Ихэнх хүмүүс миний хийж байгаа энэ ойлгохгүй гэж боддог. Юм тийм байх ёсгүй харилцан ойлголцол сайн байжийж л юмаа хийнэ. Тэрнээс биш хоёр комын урд ширтэлцээд хамтарч ажиллах маш хэцүү.

    ReplyDelete