በሳምንት ውስጥ 100,000 የኮድ መስመሮችን እንዴት ማንበብ እና ማስተካከል እንደሚቻል

በሳምንት ውስጥ 100,000 የኮድ መስመሮችን እንዴት ማንበብ እና ማስተካከል እንደሚቻል
መጀመሪያ ላይ አንድ ትልቅ እና አሮጌ ፕሮጀክት ለመረዳት ሁልጊዜ አስቸጋሪ ነው. አርክቴክቸር የአንድ አርክቴክት ግምገማ አንዱ ተግባር ነው። ብዙውን ጊዜ ከትላልቅ እና አሮጌ ፕሮጀክቶች ጋር መስራት አለብዎት, ውጤቱም በሳምንት ውስጥ መቅረብ አለበት.

ለደንበኛው በእውነት ጠቃሚ ውጤቶችን እያቀረበ በሳምንት ውስጥ የ 100k ወይም ከዚያ በላይ የኮድ መስመሮችን ፕሮጀክት እንዴት መገምገም እንደሚቻል።

አብዛኛዎቹ አርክቴክቶች እና ቴክኒካል መሪዎች ተመሳሳይ የፕሮጀክት ግምገማዎች አጋጥሟቸዋል. ይህ በከፊል መደበኛ ሂደት ወይም በኩባንያችን ውስጥ እንደሚደረገው የተለየ አገልግሎት ሊመስል ይችላል፣ አንድ መንገድ ወይም ሌላ አብዛኞቻችሁ ይህንን ተነጋግረዋል።

ሩሲያኛ ላልሆኑ ጓደኞቻችሁ በእንግሊዝኛ ዋናው እዚህ አለ፡- በአንድ ሳምንት ውስጥ የስነ-ህንፃ ግምገማ.

የኩባንያችን አቀራረብ

በኩባንያችን ውስጥ እንዴት እንደሚሰራ እና በተመሳሳይ ሁኔታዎች ውስጥ እንዴት እንደምሰራ እነግርዎታለሁ, ነገር ግን ይህንን አሰራር እንደ ፕሮጀክትዎ እና ኩባንያዎ ፍላጎቶች በቀላሉ መቀየር ይችላሉ.

ሁለት ዓይነት የስነ-ህንፃ ግምገማ አለ።

ውስጣዊ - እኛ ብዙውን ጊዜ በኩባንያው ውስጥ ላሉ ፕሮጀክቶች እናደርጋለን። ማንኛውም ፕሮጀክት በተለያዩ ምክንያቶች የስነ-ህንፃ ግምገማ ሊጠይቅ ይችላል፡-

  1. ቡድኑ ፕሮጀክታቸው ፍጹም ነው ብሎ ያስባል እና ይህ አጠራጣሪ ነው። እንደዚህ አይነት ጉዳዮች አጋጥሞናል, እና ብዙውን ጊዜ እንደዚህ ባሉ ፕሮጀክቶች ውስጥ ሁሉም ነገር በጣም ጥሩ አይደለም.
  2. ቡድኑ ፕሮጀክታቸውን እና መፍትሄዎቻቸውን መሞከር ይፈልጋል.
  3. ቡድኑ ነገሮች መጥፎ መሆናቸውን ያውቃል። ዋና ዋና ችግሮችን እና መንስኤዎችን እንኳን ሊዘረዝሩ ይችላሉ, ነገር ግን ፕሮጀክቱን ለማሻሻል የተሟላ የችግሮች ዝርዝር እና ምክሮች ይፈልጋሉ.

ውጫዊ ከውስጣዊ ግምገማ የበለጠ መደበኛ ሂደት ነው። ደንበኛው ሁልጊዜ የሚመጣው በአንድ ጉዳይ ላይ ብቻ ነው, ሁሉም ነገር መጥፎ በሚሆንበት ጊዜ - በጣም መጥፎ. ብዙውን ጊዜ ደንበኛው ዓለም አቀፍ ችግሮች እንዳሉ ይገነዘባል, ነገር ግን መንስኤዎቹን በትክክል መለየት እና ወደ ክፍሎች መከፋፈል አይችልም.

ለውጫዊ ደንበኛ አርክቴክቸር መገምገም የበለጠ ውስብስብ ጉዳይ ነው። ሂደቱ የበለጠ መደበኛ መሆን አለበት. ፕሮጀክቶቹ ሁልጊዜ ትልቅ እና ያረጁ ናቸው. ብዙ ችግሮች፣ ሳንካዎች እና ጠማማ ኮድ አለባቸው። በተከናወነው ሥራ ላይ ያለው ሪፖርት በከፍተኛው በጥቂት ሳምንታት ውስጥ ዝግጁ መሆን አለበት, ይህም ዋና ዋና ችግሮችን እና የማሻሻያ ምክሮችን ማካተት አለበት. ስለዚህ, የፕሮጀክቱን ውጫዊ ግምገማ ከተመለከትን, ውስጣዊ ግምገማው አንድ ቁራጭ ይሆናል. በጣም አስቸጋሪ የሆነውን ጉዳይ እንመልከት.

የድርጅት ፕሮጀክት አርክቴክቸር ግምገማ

ለመገምገም የተለመደ ፕሮጀክት ብዙ ችግር ያለበት ትልቅ, አሮጌ, የድርጅት ፕሮጀክት ነው. አንድ ደንበኛ ወደ እኛ መጥቶ የራሱን ፕሮጀክት እንድናስተካክል ጠየቀን። ልክ እንደ የበረዶ ግግር ነው, ደንበኛው የችግሮቹን ጫፍ ብቻ ያያል እና በውሃው ስር (በኮዱ ጥልቀት) ውስጥ ምን እንዳለ አያውቅም.

ደንበኛው ቅሬታ ሊያሰማባቸው የሚችሉ እና ሊያውቃቸው የሚችሉ ችግሮች፡-

  • የአፈጻጸም ጉዳዮች
  • የአጠቃቀም ጉዳዮች
  • የረጅም ጊዜ ማሰማራት
  • የክፍል እጥረት እና ሌሎች ሙከራዎች

ደንበኛው የማያውቅባቸው ችግሮች፣ ነገር ግን በፕሮጀክቱ ውስጥ ሊኖሩ ይችላሉ፡-

  • የደህንነት ችግሮች
  • የንድፍ ጉዳዮች
  • የተሳሳተ አርክቴክቸር
  • የአልጎሪዝም ስህተቶች
  • ተገቢ ያልሆኑ ቴክኖሎጂዎች
  • የቴክኒክ ዕዳ
  • የተሳሳተ የእድገት ሂደት

መደበኛ የሕንፃ ግምገማ ሂደት

ይህ እንደ ኩባንያ የምንከተለው መደበኛ ሂደት ነው, ነገር ግን እንደ ኩባንያዎ እና እንደ ፕሮጀክትዎ ማበጀት ይችላሉ.

ከደንበኛ ጥያቄ

ደንበኛው የአሁኑን ፕሮጀክት አርክቴክቸር ለመገምገም ይጠይቃል. በእኛ በኩል ያለው ኃላፊነት ያለው ሰው ስለ ፕሮጀክቱ መሰረታዊ መረጃ ይሰበስባል እና አስፈላጊዎቹን ባለሙያዎች ይመርጣል. በፕሮጀክቱ ላይ በመመስረት, እነዚህ የተለያዩ ባለሙያዎች ሊሆኑ ይችላሉ.

መፍትሄ አርክቴክት - የግምገማ እና የማስተባበር ኃላፊነት ያለው ዋና ሰው (እና ብዙውን ጊዜ ብቸኛው)።
ልዩ ባለሙያዎችን ቁልል – ኔት፣ ጃቫ፣ ፓይዘን፣ እና ሌሎች ቴክኒካል ስፔሻሊስቶች በፕሮጀክቱ እና በቴክኖሎጂው ላይ ተመስርተው
የደመና ባለሙያዎች - እነዚህ Azure ፣ GCP ወይም AWS የደመና አርክቴክቶች ሊሆኑ ይችላሉ።
መሠረተ ልማት - DevOps ፣ የስርዓት አስተዳዳሪ ፣ ወዘተ.
ሌሎች ባለሙያዎች - እንደ ትልቅ መረጃ ፣ የማሽን መማር ፣ የአፈፃፀም መሐንዲስ ፣ የደህንነት ባለሙያ ፣ የ QA መሪ።

ስለ ፕሮጀክቱ መረጃ መሰብሰብ

ስለ ፕሮጀክቱ በተቻለ መጠን ብዙ መረጃ መሰብሰብ አለብዎት. እንደ ሁኔታው ​​​​የተለያዩ ቴክኒኮችን መጠቀም ይችላሉ-

  • መጠይቆች እና ሌሎች የመገናኛ ዘዴዎች በፖስታ. በጣም ውጤታማ ያልሆነው መንገድ.
  • የመስመር ላይ ስብሰባዎች.
  • ለመረጃ መለዋወጫ ልዩ መሳሪያዎች ለምሳሌ፡ Google doc፣ Confluence፣ repositories፣ ወዘተ።
  • በጣቢያው ላይ "ቀጥታ" ስብሰባዎች. በጣም ውጤታማ እና በጣም ውድ መንገድ.

ከደንበኛው ምን ማግኘት አለብዎት?

መሰረታዊ መረጃ. ፕሮጀክቱ ስለ ምንድን ነው? ዓላማው እና ዋጋ. ለወደፊቱ ዋና ግቦች እና እቅዶች። የንግድ ግቦች እና ስትራቴጂዎች. ዋና ችግሮች እና የተፈለገውን ውጤት.

የፕሮጀክት መረጃ. የቴክኖሎጂ ቁልል፣ ማዕቀፎች፣ የፕሮግራም አወጣጥ ቋንቋዎች። በግቢው ላይ ወይም የደመና ማሰማራት። ፕሮጀክቱ በደመና ውስጥ ከሆነ ምን ዓይነት አገልግሎቶች ጥቅም ላይ ይውላሉ. ምን ዓይነት የሥነ ሕንፃ እና የንድፍ ንድፎች ጥቅም ላይ ውለዋል.

ተግባራዊ ያልሆኑ መስፈርቶች. ከአፈጻጸም፣ ተገኝነት እና የአጠቃቀም ቀላልነት ጋር የተያያዙ ሁሉም መስፈርቶች። የደህንነት መስፈርቶች, ወዘተ.

የመሠረታዊ አጠቃቀም ጉዳዮች እና የውሂብ ፍሰቶች።

የምንጭ ኮድ መዳረሻ. በጣም አስፈላጊው ክፍል! ፕሮጀክቱን እንዴት እንደሚገነቡ በእርግጠኝነት ወደ ማጠራቀሚያዎች እና ሰነዶች መድረስ አለብዎት።

የመሠረተ ልማት አቅርቦት. ከቀጥታ ስርዓቱ ጋር ለመስራት ወደ መድረክ ወይም የምርት መሠረተ ልማት ማግኘት ጥሩ ይሆናል. ደንበኛው መሠረተ ልማትን እና አፈፃፀሙን ለመከታተል የሚረዱ መሳሪያዎች ካሉት ትልቅ ስኬት ነው. ስለእነዚህ መሳሪያዎች በሚቀጥለው ክፍል እንነጋገራለን.

ሰነድ. ደንበኛው ሰነድ ካለው ይህ ጥሩ ጅምር ነው። ጊዜው ያለፈበት ሊሆን ይችላል፣ ግን አሁንም ጥሩ ጅምር ነው። ሰነዶቹን በጭራሽ አትመኑ - ከደንበኛው ጋር ፣ በእውነተኛ መሠረተ ልማት እና በመነሻ ኮድ ውስጥ ይሞክሩት።

የስነ-ህንፃ ግምገማ ሂደት

አንድ ሰው ይህን ያህል መጠን ያለው መረጃ በአጭር ጊዜ ውስጥ እንዴት ማካሄድ ይችላል? በመጀመሪያ ደረጃ ስራውን ትይዩ ያድርጉ.

DevOps መሠረተ ልማትን መመልከት አለበት። ቴክ ወደ ኮድ ይመራል። የአፈጻጸም መለኪያዎችን ለማየት የአፈጻጸም መሐንዲስ። የውሂብ ጎታ ስፔሻሊስት በጥልቀት ወደ የውሂብ አወቃቀሮች መቆፈር አለበት.

ነገር ግን ብዙ ሀብቶች ሲኖሩዎት ይህ ተስማሚ ጉዳይ ነው። በተለምዶ ከአንድ እስከ ሶስት ሰዎች አንድን ፕሮጀክት ይገመግማሉ። ግምቱን እራስዎ እንኳን ማካሄድ ይችላሉ, ይህም ብዙውን ጊዜ በሁሉም የፕሮጀክቱ ቦታዎች ላይ ተገቢውን እውቀት እና ልምድ ካሎት ነው. በዚህ ሁኔታ, ሁሉንም ሂደቶች በተቻለ መጠን በራስ-ሰር ማድረግ ያስፈልግዎታል.

እንደ አለመታደል ሆኖ ሰነዶቹን በእጅ ማንበብ አለብዎት። በትክክለኛው የልምድ መጠን, የሰነዶቹን ጥራት በፍጥነት መረዳት ይችላሉ. እውነት የሆነው እና ግልጽ የሆነው ከእውነታው ጋር የማይጣጣም ነው. አንዳንድ ጊዜ በእውነተኛ ህይወት ውስጥ ፈጽሞ የማይሰራ ስነ-ህንፃን በሰነድ ውስጥ ማየት ትችላለህ። ይህ በእውነታው በፕሮጀክቱ ውስጥ እንዴት እንደተከናወነ ለማሰብ ቀስቅሴ ነው.

የፕሮጀክት ግምገማን በራስ-ሰር ለማድረግ ጠቃሚ መሣሪያዎች

የኮድ ግምገማ ቀላል ልምምድ ነው. ዲዛይን፣ አፈጻጸም እና የደህንነት ጉዳዮችን የሚያሳዩ የማይንቀሳቀስ ኮድ ተንታኞችን መጠቀም ትችላለህ። ጥቂቶቹ እነሆ፡-

መዋቅር 101 ለአርክቴክት በጣም ጥሩ መሣሪያ ነው። ትልቁን ምስል ያሳየዎታል፣ በሞጁሎች መካከል ያሉ ጥገኞች እና እንደገና ሊፈጠሩ የሚችሉ ቦታዎች። ልክ እንደ ሁሉም ጥሩ መሳሪያዎች, ጥሩ ገንዘብ ያስወጣል, ነገር ግን የ 30 ቀን የሙከራ ስሪት መጠቀም ይችላሉ.

SonarQube - ጥሩ የድሮ መሣሪያ። የማይንቀሳቀስ ኮድ ትንተና መሣሪያ። ከ20 በላይ ለሆኑ የፕሮግራም አወጣጥ ቋንቋዎች መጥፎ ኮድ፣ ሳንካዎች እና የደህንነት ችግሮችን እንዲለዩ ያስችልዎታል።

ሁሉም የደመና አቅራቢዎች የመሠረተ ልማት መከታተያ መሳሪያዎች አሏቸው። ይህ የመሠረተ ልማትዎን ውጤታማነት ከዋጋ እና ከአፈፃፀም አንፃር በትክክል እንዲገመግሙ ያስችልዎታል። ለAWS ይህ ነው። የታመነ አማካሪ. ለ Azure ቀላል ነው። Azure አማካሪ.

ተጨማሪ የአፈጻጸም ክትትል እና ምዝግብ ማስታወሻ በሁሉም ደረጃዎች የአፈጻጸም ችግሮችን ለማግኘት ይረዳል። ከዳታ ቤዝ ጀምሮ ውጤታማ ካልሆኑ መጠይቆች፣ ከኋላ እና ከፊት ለፊት የሚጨርስ። ምንም እንኳን ደንበኛው እነዚህን መሳሪያዎች ቀደም ብሎ ባይጭንም እንኳን, የአፈፃፀም ችግሮችን ለመለየት በፍጥነት ካለው ስርዓት ጋር ማዋሃድ ይችላሉ.

እንደ ሁልጊዜው, ጥሩ መሳሪያዎች ጥሩ ዋጋ አላቸው. ሁለት የሚከፈልባቸው መሣሪያዎችን ልመክር እችላለሁ። በእርግጥ ክፍት ምንጭን መጠቀም ይችላሉ ነገር ግን ብዙ ጊዜ ይወስዳል። ይህ ደግሞ በሥነ ሕንፃ ምዘና ሂደት ሳይሆን በቅድሚያ መደረግ አለበት።

አዲስ Relic - የመተግበሪያውን አፈፃፀም ለመገምገም መሳሪያ
ዳታዶግ - የደመና ስርዓት ክትትል አገልግሎት

ለደህንነት ሙከራ ብዙ መሣሪያዎች አሉ። በዚህ ጊዜ ነፃ የስርዓት መቃኛ መሣሪያን እመክርዎታለሁ።

OWASP ZAP - የደህንነት መስፈርቶችን ለማክበር የድር መተግበሪያዎችን ለመቃኘት መሳሪያ።

ሁሉንም ነገር ወደ አንድ ሙሉ እናድርጋቸው።

ሪፖርት በማዘጋጀት ላይ

ሪፖርትዎን ከደንበኛው በሰበሰቡት ውሂብ ይጀምሩ። የፕሮጀክቱን ግቦች, ገደቦች, ተግባራዊ ያልሆኑ መስፈርቶችን ይግለጹ. ከዚህ በኋላ ሁሉም የግብአት መረጃዎች መጠቀስ አለባቸው: የምንጭ ኮድ, ሰነድ, መሠረተ ልማት.

ቀጣዩ ደረጃ. በእጅ ወይም አውቶማቲክ መሳሪያዎችን በመጠቀም ያገኟቸውን ማናቸውንም ጉዳዮች ይዘርዝሩ። በመተግበሪያዎች ክፍል ውስጥ ትልቅ በራስ-የተፈጠሩ ሪፖርቶችን በመጨረሻ ያስቀምጡ። የተገኙትን ችግሮች አጭር እና አጭር ማስረጃዎች ሊኖሩ ይገባል.
በስህተቱ ፣ በማስጠንቀቂያ ፣ በመረጃ ልኬት ላይ የተገኙትን ችግሮች ቅድሚያ ይስጡ ። የእራስዎን ሚዛን መምረጥ ይችላሉ, ግን ይህ በአጠቃላይ ተቀባይነት ያለው ነው.

እንደ እውነተኛ አርክቴክት ፣ የተገኙትን ችግሮች ለማስተካከል ምክሮችን የመስጠት ሃላፊነት የእርስዎ ነው። ደንበኛው የሚቀበለውን ማሻሻያ እና የንግድ ዋጋ ይግለጹ። የንግድ ዋጋን እንዴት ማሳየት እንደሚቻል አርክቴክቸር refactoring ቀደም ብለን ተወያይተናል.

ከትንሽ ድግግሞሾች ጋር የመንገድ ካርታ ያዘጋጁ. እያንዳንዱ ድግግሞሹ ለማጠናቀቅ ጊዜን፣ መግለጫን፣ ለማሻሻል የሚያስፈልጉትን ሀብቶች መጠን፣ ቴክኒካዊ እሴት እና የንግድ ዋጋ መያዝ አለበት።

የአርክቴክቸር ግምገማውን አጠናቅቀን ለደንበኛው ሪፖርት እናቀርባለን።

በጭራሽ ሪፖርት በፖስታ ብቻ አይላኩ። ጨርሶ ላይነበብ ይችላል፣ ወይም ደግሞ ያልተነበበ እና ያለ በቂ ማብራሪያ ላይረዳ ይችላል። በአጭር አነጋገር ቀጥታ ግንኙነት በሰዎች መካከል አለመግባባትን ለማስወገድ ይረዳል. በጣም አስፈላጊ በሆኑት ላይ በማተኮር ከደንበኛው ጋር ስብሰባ ቀጠሮ መያዝ እና ስለተገኙ ችግሮች መነጋገር አለብዎት። የደንበኛውን ትኩረት ወደማያውቁት ችግሮች መሳብ ተገቢ ነው። እንደ የደህንነት ጉዳዮች ያሉ እና በንግዱ ላይ እንዴት ተጽዕኖ ሊያሳድሩ እንደሚችሉ ያብራሩ። የመንገድ ካርታዎን ከማሻሻያዎች ጋር ያሳዩ እና ለደንበኛው ይበልጥ ተስማሚ የሆኑ የተለያዩ አማራጮችን ይወያዩ። ይህ ጊዜ, ሀብቶች, የስራ ብዛት ሊሆን ይችላል.

እንደ ስብሰባዎ ማጠቃለያ፣ ሪፖርትዎን ለደንበኛው ይላኩ።

በማጠቃለያው

የስነ-ህንፃ ግምገማ ውስብስብ ሂደት ነው. ግምገማውን በትክክል ለማካሄድ በቂ ልምድ እና እውቀት ሊኖርዎት ይገባል።

ለአንድ ሳምንት ብቻ ለእሱ እና ለንግድ ስራው ጠቃሚ ውጤቶችን ለደንበኛው መስጠት ይቻላል. እርስዎ ብቻዎን ቢያደርጉትም.

በእኔ ልምድ ብዙ ማሻሻያዎች በመሃል ላይ ወርደዋል፣ እና አንዳንዴም በጭራሽ አልተጀመረም። ወርቃማ አማካኙን ለራሳቸው የመረጡ እና ለንግድ ስራው በጣም ጠቃሚ የሆኑትን ማሻሻያዎችን ብቻ ያደረጉ እና በአነስተኛ የጉልበት ወጪዎች የምርታቸውን ጥራት በእጅጉ አሻሽለዋል ። ምንም ያላደረጉ ሰዎች ከጥቂት አመታት በኋላ ፕሮጀክቱን ሙሉ በሙሉ መዝጋት ይችላሉ.

ግብዎ ለደንበኛው ከፍተኛ ማሻሻያዎችን በትንሹ ዋጋ ማሳየት ነው።

ከክፍል ሌሎች ጽሑፎች ሥነ ሕንፃ በመዝናኛዎ ላይ ማንበብ ይችላሉ.

ንጹህ ኮድ እና ጥሩ የስነ-ህንፃ ውሳኔዎች እመኛለሁ.

የእኛ የፌስቡክ ቡድን - የሶፍትዌር አርክቴክቸር እና ልማት.

ምንጭ: hab.com

አስተያየት ያክሉ