ቤት / የዊንዶውስ አጠቃላይ እይታ / የፕሮግራም አወጣጥ ዘይቤ ክፍተቶች ወይም ትሮች ናቸው። የመግቢያ ቅጦች በሐ ውስጥ ፕሮግራሚንግ ሲደረግ. የቦታዎች እና ትሮች ባህሪ ልዩነቶች

የፕሮግራም አወጣጥ ዘይቤ ክፍተቶች ወይም ትሮች ናቸው። የመግቢያ ቅጦች በሐ ውስጥ ፕሮግራሚንግ ሲደረግ. የቦታዎች እና ትሮች ባህሪ ልዩነቶች

በኮድ ቅርጸት ርዕስ ላይ ያሉ ሃይማኖታዊ ጦርነቶች በፕሮግራም አድራጊዎች መካከል አይቀንሱም. በዚህ ርዕስ ላይ ካሉት በጣም አስቸኳይ ጥያቄዎች አንዱ በፕሮግራሞች ምንጭ ኮድ ውስጥ - ትሮች ፣ ክፍተቶች ፣ ወይም አንድ - አንድ ፣ እና ሌላኛው - ሌላውን እንዴት ማስገባት እና ማስተካከል እንደሚቻል ነው? እያንዳንዱ አማራጭ በእርግጠኝነት የራሱ ጥቅሞች እና ጉዳቶች አሉት።

እንደ እኔ ምልከታ ፣ በወቅታዊ ፕሮግራመሮች መካከል ፣ በአብዛኛዎቹ ጉዳዮች ፣ የቦታዎች ደጋፊዎች አሁንም ያሸንፋሉ ፣ እና እዚህ ወሳኙ መከራከሪያ የእያንዳንዱ ግለሰብ ፕሮግራመር የፕሮግራም መቼት ምንም ይሁን ምን የተደረደሩ መስመሮች ምስላዊ ተመሳሳይነት ነው። እና በቡድኑ ውስጥ ባለው ማስገቢያ ውስጥ ባሉ የቦታዎች ብዛት ላይ መስማማት ይመርጣሉ። በትሩ መጠን ላይ እንዳይስማሙ የሚከለክላቸው ነገር ግልጽ አይደለም :)

ምናልባትም, የቦታዎችን አጠቃቀም አስፈላጊነት የሚነሳው ፕሮግራመሮች በ "ታብ" መጠን ላይ ካልተስማሙ, ነገር ግን እርስ በእርሳቸው የተለያየ ውስጠቶች ካሉት ኮድ ጋር ለመስራት ዝግጁ ከሆኑ. በዚህ አጋጣሚ ኮዱ እና አስተያየቶች በጭራሽ አይሳቡም, እና እንደዚህ አይነት የተረጋጋ መልክን ለመጠበቅ ሁልጊዜ የአርታዒ ቅንብሮችን መቀየር አያስፈልግዎትም. በዚህ ጉዳይ ላይ ያለው ችግር የሚፈጠረው በተለያዩ ፕሮግራመሮች የተፃፉ የኮድ ብሎኮችን ወደ አንድ ፋይል ሲዋሃድ ብቻ ነው።

የቦታዎች እና ትሮች ባህሪ ልዩነቶች

የሚከተለውን ምሳሌያዊ ኮድ አስቡበት፡-

ከሆነ (mStatus != ሁኔታ. በመጠባበቅ ላይ) ( ማብሪያ (mStatus) ( ጉዳዩ እየሮጠ: አዲስ IllegalStateException መጣል ("ተግባርን ማከናወን አልተቻለም:" + "ተግባሩ ቀድሞውንም እየሰራ ነው.") ፤ ጉዳይ ተጠናቀቀ: አዲስ IllegalStateException ጣል ("ተግባርን ማከናወን አልተቻለም : " + "ተግባሩ አስቀድሞ ተፈፅሟል" + "(አንድ ተግባር አንድ ጊዜ ብቻ ነው የሚፈጸመው)")))

የጽሑፍ መልእክት ብሎኮች ለማንበብ ቀላል እንደሆኑ እናያለን ምክንያቱም የእያንዳንዱ መስመር መጀመሪያ የተደረደረ ነው። ሁሉም ገባዎች (ሁለቱም ኮድ እና አሰላለፍ) ከክፍተት ጋር ሲሰሩ፣ የፅሁፍ ብሎኮች በማንኛውም ኮምፒዩተር እና በማንኛውም የምንጭ ኮድ አርታኢ (ከሁሉም በኋላ፣ የምንጭ ኮድን በሚጽፉበት ጊዜ፣ ተመሳሳይ ስፋት ያላቸው ክፍት ቦታዎች ያሉት ቅርጸ-ቁምፊ) ሁልጊዜ ይስተካከላሉ። ቁምፊዎቹ በተለምዶ ጥቅም ላይ እንደሚውሉ). ነገር ግን የመግቢያው መጠን ለሌላ ፕሮግራም አውጪ ያልተለመደ ከሆነ በቀላሉ ሊለውጠው አይችልም።

ከክፍተት ሳይሆን በትሮች ጋር ካልተስማማን እኛ እራሳችን አንድ አይነት መልክ እናገኛለን ነገር ግን አርታኢው ለተለየ የሠንጠረዥ ሬሾ ለተቀናበረ ሌላ ፕሮግራመር ለምሳሌ እንደኛ 4 ሳይሆን 8 መስመሮቹ ይቀያየራሉ። በጣም ወደ ቀኝ, እና ከ 2 ትር ሬሾ ጋር - ወደ ግራ. በተመሳሳይ ጊዜ, የጽሑፍ መልእክቱ ሁለተኛ መስመሮች በግድ ሾልከው መግባታቸው የማይቀር ነው. በኮድ መስመሮች መጨረሻ ላይ የአስተያየቶች አሰላለፍ ተመሳሳይ ነገር ይከሰታል. ከአሁን በኋላ በጥሩ ሁኔታ ወደ ግራ የሚሰለፉ አይሆኑም የተለያዩ ደረጃ ጎጆዎች ባለው ብሎክ ውስጥ።

መካከለኛ አማራጭ ውስጠ-ግንቦችን መፍጠር - ታብሌሽን ፣ እና አሰላለፍ - የተጣመረ ዘዴ ይባላል። አሰላለፍ የሚጀምረው በትሮች ነው፣ እና የቀደመው መስመር ደረጃ ሲደርስ ከቦታዎች ጋር። የዚህ ዘዴ ጉዳቱ የዚህ ዘዴ አንጻራዊ ውስብስብነት እና ሊፈጠር የሚችል ግራ መጋባት ነው - ከሁሉም በላይ የቁጥጥር ገጸ-ባህሪያትን እይታ ሳያስችል, ትሮች የት እንዳሉ እና ቦታዎቹ የት እንዳሉ ወዲያውኑ አይታወቅም. እንዲሁም በኮዱ ውስጥ ወደሌሎች ቦታዎች ሲገለበጡ እንዴት እንደሚሆኑ ግልጽ አይደለም.

ከዚህም በላይ ከላይ የተገለፀው ዘዴ በመስመሮች መጨረሻ ላይ ከአስተያየቶች የተሳሳተ አቀማመጥ አያድነዎትም. እና በኋላ ኮድዎን የሚያስተካክሉ ሁሉም ፕሮግራመሮች የእርስዎን ሃሳብ አይረዱትም ወይም አይቀበሉም።

ስለዚህ ኮድዎን ለመቅረጽ ትክክለኛው መንገድ ምንድነው - በቦታዎች ወይም በትሮች? ወይም ምናልባት ሁለቱም? ይህንን ለማወቅ እንሞክር።

የትብብር ታሪክ - አስደሳች እውነታዎች

ወደ ታሪክ አጭር ጉዞ። ሠንጠረዥ (አግድም ሰንጠረዥ) በመጀመሪያ በሜካኒካል የጽሕፈት መኪናዎች ውስጥ የገባው ጠረጴዛዎችን ለመሥራት እንዲመች እና የአንቀጽ ውስጠትን ለመፍጠርም ይጠቅማል። ጥብቅ መጠን አልነበረውም. ከስራ በፊት ተጠቃሚው ራሱ ልዩ ዘዴን በመጠቀም የሚፈልገውን የትር ማቆሚያዎችን አዘጋጅቷል። በተመሳሳይ መንገድ አሁን በ MS Word ውስጥ ሊከናወን ይችላል. በውጤቱም ፣ በተከታታይ የትር ቁልፍ (እንደ ← የተሰየመ) ተጭኖ ፣ ሰረገላው ፣ በፀደይ እርምጃ ፣ ቀደም ሲል በተቀመጡት ሁሉም ቦታዎች በራስ-ሰር ወደ ግራ ይንቀሳቀሳል ፣ በዚህም የግቤት ቦታውን ወደ ቀኝ ያንቀሳቅሳል።

የኤሌክትሮኒካዊ ቴክኖሎጂ ጊዜ ሲደርስ, መንኮራኩሩን እንደገና ላለመፍጠር, በታይፕራይተሮች ምስል እና አምሳያ መስራት ጀመሩ. ከዚህም በላይ በመጀመሪያ ይህ ዘዴ ከነሱ ብዙም የተለየ አልነበረም. ለምሳሌ የቴሌታይፕ (ቴሌታይፕ) በትክክል የቴሌግራፍ እና የጽሕፈት መኪና ሲምባዮሲስ ነበር። ስለዚህ ገንቢዎቹ በቀላሉ ሁሉንም ቁልፎቹን እና አንዳንድ ሌሎች አካላትን (የሰረገላ መመለሻ ፣ የሰረገላ ወደ አዲስ መስመር መመለስ እና በሆነ ምክንያት የመስመሩ መጨረሻ ላይ የሚደርሰውን ምልክት) ወደ ASCII ኮዶች ቀይረዋል። የትር ቁልፉ የ9 ኮድ ተመድቦለታል፣ ነገር ግን ብጁ የትር ማቆሚያዎችን የማዘጋጀት ዘዴን መኮረጅ አስቸጋሪ ስለሆነ በቀላሉ እንዲስተካከል ወሰኑ።

የቋሚ ትር መጠን ምርጫ ለምን በ 8 የተለመዱ ቦታዎች ላይ ወደቀ? እንደ አንድ ደንብ, የጽሕፈት መኪናዎች 80 ቁምፊዎች የመስመር ርዝመት ነበራቸው. ቴሌታይፕ፣ በመጀመሪያዎቹ ኮምፒውተሮች መረጃን ለማውጣት ያገለግሉ ነበር፣ የጽሕፈት መኪናዎች ወራሾች በመሆናቸውም እንዲሁ። በቡጢ ካርዶች ላይ እንኳን, መረጃ በ 80 ቁምፊዎች መስመሮች ውስጥ መቀመጥ ጀመረ. ስለዚህ, የጽሕፈት መኪናዎች ለመስመር ርዝመት የተወሰነ መስፈርት ያዘጋጃሉ.

የሰንጠረዥ አምዶችን ለመፍጠር በዋናነት ጥቅም ላይ የዋለ በመሆኑ በጣም ምቹ መጠን በአምድ ውስጥ ከተፃፈ በጣም ከተለመዱት የቃላቶች ርዝመት ልዩነት ያነሰ መሆን አለበት (ስለዚህ ወደ ቀጣዩ አምድ ለመሄድ አስፈላጊ አይሆንም. የተለያዩ የሰንጠረዦች ብዛት). በተመሳሳይ ጊዜ, ይህ መጠን በተቻለ መጠን ከፍተኛውን የአምዶች ብዛት መፍቀድ ነበረበት. ሦስተኛው ሁኔታ መጠኑ ከ 80 ቁምፊዎች መስመር ርዝመት ጋር ብዙ ጊዜ መግጠም አለበት.

በመጨረሻው ሁኔታ መሰረት, ገንቢዎቹ የሚከተሉትን አምስት ትክክለኛ አማራጮች ምርጫ ነበራቸው: 4, 5, 8, 10 እና 16. የመጀመሪያዎቹ ሁለት አማራጮች በጣም ምቹ አልነበሩም, ምክንያቱም የእንግሊዝኛ ቃላት ርዝማኔ ልዩነት ብዙውን ጊዜ ከእነዚህ እሴቶች ይበልጣል. . ባለ 16-ቁምፊ ውስጠቱ ከመጠን በላይ ትልቅ ይመስላል, የመሳሪያውን አጠቃቀም ይቀንሳል እና በጠረጴዛዎች ውስጥ ያሉትን የአምዶች ብዛት በእጅጉ ይገድባል. በ8 እና በ10 ቁምፊዎች መካከል ምርጫ ነበር።

የ8 ቁምፊዎች እሴት የቃላት ርዝመት ልዩነት ሁኔታን ያረካ የመጀመሪያው እሴት ነው። በተጨማሪም, ሁለተኛውን ሁኔታ ያረካው ብቸኛው ነበር - ከፍተኛውን የአምዶች ብዛት መገንባት. ባለ 10 ቁምፊዎች ትር ያለው አማራጭ ያለምክንያት አባካኝ እና 8 አምዶችን ብቻ ሰጠ፣ ይህም የትሩን ወሰን በመጠኑ ሊያጠብ ይችላል። በተጨማሪም ፣ ለከፍተኛው የአምዶች ብዛት 10 ቁጥር በሥነ-ልቦናዊ ሁኔታ የበለጠ አስደናቂ ይመስላል። እነዚህ ሁሉ ምክንያቶች የቴሌታይፕ ገንቢዎች በትክክል 8 ቁምፊዎችን እንዲሰፍር አዘንብሏቸው።

ስለ አንቀጽ ውስጠት ጥቂት ቃላት፣ እሱም ወደ ርዕሳችን ቅርብ የሆነ ቦታ ስለሚሄድ። በ OST 29.115-88 መሠረት, በጽሕፈት መኪናዎች ላይ በሚታተምበት ጊዜ, የአንቀጹ መግባቱ ከሶስት ጭረቶች ጋር እኩል መሆን አለበት, ነገር ግን የአምስት ምቶች መግቢያን መጠቀም ይፈቀዳል. በተጨማሪም, በአንድ ገጽ ላይ 29 (+-1) መስመሮችን ለማስቀመጥ ታዝዟል (ይህም በግምት በታይፕራይተር ላይ ከአንድ ተኩል ርቀት ጋር ይዛመዳል). በአንድ ተኩል ጊዜ ውስጥ 3 ምቶች ወደ ውስጥ ለመግባት የሚያስፈልገው መስፈርት በጣም እንግዳ ነው ፣ እና ለምን እንደሆነ ከዚህ በታች እገልጻለሁ።

በአጻጻፍ አቀማመጥ የአንቀጽ ውስጠቱ ከአንድ ተኩል የቅርጸ ቁምፊ መጠን ጋር እኩል ነው, ማለትም, በግምት, የቋሚው መስመር መጠን (ማለትም ከአንዱ መስመር ግርጌ እስከ ሌላው ግርጌ ያለው ርቀት), በ 1.5 ተባዝቷል. በታይፖግራፊ አቀማመጥ ውስጥ የግማሽ ቦታው በጭራሽ ጥቅም ላይ የማይውል ስለሆነ እና መስመሮቹ ወዲያውኑ አንድ በአንድ ይከተላሉ ፣ በዚህ ጉዳይ ላይ ትክክለኛው አንቀጽ ከሲሪሊክ ፊደላት ሶስት መካከለኛ ቁምፊዎች ጋር እኩል ነው።

ምናልባት ፣ የ OST 29.115-88 አዘጋጆች ፣ ወደ የፊደል አጻጻፍ ዝርዝር ውስጥ ሳይገቡ ፣ ይህንን እሴት ለሞኖስፔስ ቋሚ የጽሕፈት መኪናዎች ቋሚ ቅርጸ-ቁምፊዎች ወስደው በተመሳሳይ ጊዜ አንድ እና ተኩል የመስመር ክፍተት ከአንድ ሞኖስፔስ ጋር ስላደረጉት እንደ አንድ መደበኛ ደረጃ ወስነዋል ። ቅርጸ-ቁምፊ እና ዝቅተኛ የህትመት ጥራት፣ ነጠላ ክፍተት በጣም መጥፎ ይመስላል።

ነገር ግን በአጻጻፍ ሕጎች ላይ የተመረኮዘ ክፍተት መጨመር የአንቀፅ መጨመርንም ይጠይቃል። መስፈርቱ በተቀረጸበት ጊዜ፣ ይህ የጨመረው ባለ 5-ምት ማካካሻ አስቀድሞ በስፋት ጥቅም ላይ ውሏል። ለዚህም ይመስላል የ 5 ስትሮክ የጨመረው መግቢያ በደረጃው ህጋዊ የሆነው።

በነገራችን ላይ የጽሕፈት መኪናዎች የመቆጣጠሪያው የጽሑፍ ሁነታ የአምዶች ብዛት ብቻ ሳይሆን የ 30 መስመሮች አቀባዊ መጠን ላይ ተጽዕኖ አሳድረዋል. ከሁሉም በላይ, ከአንድ እና ከግማሽ ክፍተቶች ጋር በሚታተምበት ጊዜ, በአንድ ሉህ ላይ ስንት መስመሮች እንደሚገጥሙ በትክክል ነው!

የችግር አፈታት ስልታዊ እይታ

እርግጥ ነው፣ የኮድ መክተቻ ደረጃዎችን ከትሮች ጋር ማስገባት በጣም ምክንያታዊ ነው፣ ምክንያቱም በመጀመሪያ የታሰበው ያ ነው - ከተለያዩ ቦታዎች ጽሑፍን ማተም ለመጀመር። በተጨማሪም ፣ በኮምፒዩተር ዘመን ፣ የትር ቁምፊው ለሎጂካዊ አካፋይ ሚና በጣም ተስማሚ ነበር። ተከታታይ የትር ቁምፊዎች ቁጥር የሎጂክ ጎጆ ደረጃን በግልፅ አመልክቷል።

ከዚህ ውስጥ ክፍተቶች አስፈላጊ ክራንች እንደሆኑ ግልጽ ይሆናል. ከሁሉም በላይ, በሚያሳዝን ሁኔታ, ለእያንዳንዱ ቋንቋ የትር መጠን ጥብቅ አይደለም. ፕሮግራመሮች ከቋንቋ ወደ ቋንቋ ይንቀሳቀሳሉ, ብዙውን ጊዜ የቀደመውን ቋንቋ ወጎች እና ምርጫዎቻቸውን ይጠብቃሉ. በእነዚህ ሁኔታዎች ውስጥ, ክፍተቶች የምንጩን ገጽታ ለመጠገን እና የቅርጸቱን ስርጭት ለመከላከል መለኪያ ናቸው.

መፍትሄው የትር መጠኑን ከፕሮግራሚንግ ቋንቋ ጋር እንዲያያዝ ማስገደድ ሊሆን ይችላል። የኤርጎኖሚክ ባለሙያዎች ለእያንዳንዱ ቋንቋ አገባብ በጣም ምቹ የሆኑትን የትር መጠኖች በግልፅ ሊገልጹ ይችላሉ፣ እና ይህ መጠን በአቀናባሪው ውስጥ ተስተካክሎ ሲጣስ የማያቋርጥ ማስጠንቀቂያ ይሰጣል።

ችግሩን የመፍታት ስትራቴጂ ላይ ተጽእኖ ማድረግ ስለማንችል፣ ባለው እውነታ ማዕቀፍ እንደምንም በታክቲክ ለመውጣት እንገደዳለን። ለራስህ ትክክለኛውን አማራጭ ለማወቅ፣ የቦታዎችን እና የትሮችን ጉዳዮችን በጥቂቱ በዝርዝር እንመልከታቸው።

የጠፈር ጉዳዮች

አንድ ፕሮግራመር የሌላውን ሰው ምንጭ ኮድ ከመግቢያ እና ከቦታ አቀማመጥ ጋር ሲከፍት ነገር ግን ይህ መግባቱ ለእሱ የማይመች ሆኖ ሳለ ፣ እሱ ፣ በእውነቱ ፣ አንዳንድ ውስብስብ ማጭበርበሮችን ሳያደርግ ወደ ምቹ ቅጽ ለማምጣት ምንም ማድረግ አይችልም።

ሌላው የነጭ ቦታ ችግር አንዱ የማስገቢያ ቦታዎች በድንገት ተወግዶ ሳይታወቅ የሚቀሩ ስህተቶች ናቸው። ወደ አዲስ መስመር ሲሄዱ አርታኢው ከቀደመው መስመር ጋር ተመሳሳይ የሆነ የተሳሳተ መግቢያን በራስ-ሰር ይፈጥራል፣ እና ይህ ስህተት በበርካታ የኮድ መስመሮች ላይ ሊሰራጭ ይችላል። ይህንን ስህተት ለማረም አሰልቺ በሆነው በሜካኒካል ስራዎች ላይ የተወሰነ ጊዜን ይፈልጋል።

በተጨማሪም፣ ከመጠን ያለፈ ውስጠትን ለማስወገድ፣በBackspace ላይ ከተለመደው ከመጫን ይልቅ የ Shift+Tab የቁልፍ ጥምርን መጫን አለቦት። ግን ይህ በእርግጥ የልምድ ጉዳይ ነው።

የትር ችግሮች

ትር አንድ ችግር ብቻ ነው ያለው - መጠኑ ሲቀየር የአስተያየቶች እና ሌሎች የተጣጣሙ አካላት አሰላለፍ ይስተጓጎላል, ምንም እንኳን እንደ ደንቡ, ብዙዎቹ ከሌሉ በኋላ ምንጩን ለማንበብ አስቸጋሪ ያደርገዋል, እና እነሱን ማረም ያን ያህል አስቸጋሪ አይደለም. .

በተጨማሪም፣ በአርታዒው ውስጥ በቀላሉ በጸሐፊው የተቀመጠውን የትር መጠን በመቀነስ እንዲያነቁ ማንም አያስቸግርዎትም። መልክየምንጭ ኮድ በቀላሉ በቦታዎች ቢቀረፅ ምን ሊሆን እንደሚችል። በተለይ ለእንደዚህ አይነት ጉዳዮች አንዳንድ ፕሮግራመሮች የሚመከረውን የትር መጠን ከላይኛው አስተያየት ወደ ኮዱ ይጽፋሉ - በእኔ አስተያየት በጣም ትክክለኛ ውሳኔ።

መደምደሚያዎች

በመጀመሪያ ፣ ስለ ኢንደቶች መጠን ጥቂት ቃላትን እናገራለሁ ። ለአብዛኛዎቹ የፕሮግራም አወጣጥ ቋንቋዎች በጣም ጥሩው የመግቢያ መጠን በትክክል 4 ቁምፊዎች ነው። ለምን በትክክል? ምክንያቱም አብዛኞቹ ምንጮች በዚህ መንገድ የተቀረጹ መሆናቸው አስቀድሞ ተረጋግጧል፣ እና ለ 3 ወይም 5 ቁምፊዎች ተጨባጭ “ሃሳብ” ጥሩ ማስተካከያ ትርጉሙን ያጣል።

አልፎ አልፎ ያለው ባለ 8 ቁምፊዎች መግባቱ ኮዱን ሳያስፈልግ በአግድም እንዲቀባ ያደርገዋል እና በቀኝ በኩል ለአስተያየቶች ምንም ቦታ አይሰጥም። በተጨማሪም የመግቢያው መጠን በኦፕሬተሮች ርዝማኔ ላይ በመጨመሩ በኦፕሬተሮች እና በኦፕሬተሮች መካከል ያሉ ክፍተቶች በጎጆው መሰላል ደረጃዎች ውስጥ ይጋለጣሉ, ይህም የእይታ ክፍተቶችን ይፈጥራል, ይህም ለኮዱ ተነባቢነት አይጠቅምም.

እንዲሁም, በጣም ጥሩ መፍትሄ አይደለም ባለ ሁለት-ቁምፊ ውስጠ-ገጽ መጠቀም, እሱም እንዲሁ ይከሰታል. በዚህ ሁኔታ ፣ ምንም እንኳን የቦታ ስፋት ቢቀመጥም ፣ የጎጆዎቹን ደረጃዎች ለማሰስ በጣም ከባድ ይሆናል ፣ ይህ ደግሞ የተፋጠነ ድካም ያስከትላል።

ፕሮግራመሮች በ4 ቁምፊዎች ወርቃማ አማካኝ ላይ ከተጣበቁ በቦታ እና በትሮች ደጋፊዎች መካከል ያለው ክርክር አግባብነት የለውም። እስከዚያው ድረስ የሚከተሉትን ምክሮች ልንሰጥ እንችላለን:

  1. መደበኛ የተረጋገጠ መጠን ገባዎች ይጠቀሙ። ለጃቫ፣ ፓስካል፣ ሲ፣ ሲ++፣ ወዘተ. ምንም ያህል የተለየ መጠን መጠቀም ብንፈልግ የ de facto ስታንዳርድ 4 የመግቢያ ቁምፊዎች ነው።
  2. ነጥብ 1 ከተከተለ፣ ወደ ውስጥ ለመግባት የሚጠቀሙት ነገር ምንም ለውጥ የለውም። ክፍተቶችን ካደረጋቸው, ጥሩ ይሆናል - ኮድዎ በሁሉም ቦታ የሚነበብ ይመስላል, እና ምንም ነገር አይሳበም. ሌሎች ፕሮግራመሮች የእርስዎን ኮድ ሲያነቡ ትክክለኛውን ቅርጸት ይለማመዳሉ። በትሮች ውስጥ ካስገባሃቸው ከዚያ የበለጠ የተሻለ ይሆናል - ለሌሎች ፕሮግራመሮች ምርጫ ትሰጣለህ - በአርታዒው ውስጥ ትክክለኛውን የትር መጠን ያብሩ እና በትክክል የተቀረፀውን ኮድ ያንብቡ ወይም በተለመደው ውስጠ-ገብ ያንብቡ ፣ ግን ተንሸራታች አስተያየቶች እና ግለሰቦች። አሰላለፍ የተተገበረባቸው መስመሮች.
  3. በቁጥር 2 ውስጥ ያለው ምርጫ ለወደፊቱ ኮድዎ እንዴት ጥቅም ላይ እንደሚውል ላይ በመመስረት ሊደረግ ይችላል። እገዳዎቹ ወደ ሌላ ሰው ኮድ ውስጥ የሚገቡ ከሆነ፣ አስገቢው ቅርጸቱን ለማስተካከል ቀላል እንዲሆን ለማድረግ ታብሌሽን መምረጥ ተገቢ ነው። ምንጩ በበይነመረቡ ላይ ለህትመት የታሰበ ከሆነ ፣ ትሩ በሚበላበት ወይም በ 8 ቁምፊዎች ተስተካክሏል ፣ ከዚያ ለህትመት ምንጩን ለማዘጋጀት ተጨማሪውን ደረጃ ለማስወገድ ክፍተቶችን መምረጥ ይችላሉ። ድርጅትዎ አንዳንድ የቅርጸት ህጎችን ካዘጋጀ ከአሁን በኋላ ምርጫ የለዎትም :)

ምንም ይሁን ምን የእራስዎን የቁምፊዎች ብዛት በመግቢያው ለመጠቀም ከወሰኑ የቦታዎች እና ትሮች አጠቃቀም ኮድዎ በኋላ በሌሎች ፕሮግራመሮች እንዴት ጥቅም ላይ እንደሚውል ይወሰናል።

ከሳንካ ጥገናዎች አንፃር ለመደበኛ ጥገና ከሆነ ምናልባት ቦታዎችን መጠቀም የተሻለ ነው። ኮድዎ ለረጅም ጊዜ አይሠራም እና በጥሩ ሁኔታ ከተቀረጸ ማንም ሰው በተለይ የመግቢያዎቹን መጠን መለወጥ አያስፈልገውም።

ኮድዎ በሌሎች ፕሮግራመሮች በንቃት ጥቅም ላይ የሚውል ከሆነ ፣ ወደ ፕሮግራሞቻቸው ውስጥ በማስገባት ወይም በቀላሉ ፕሮጀክትዎን በማዳበር ፣ ከዚያ ትሮችን መጠቀም የተሻለ ነው። በዚህ አጋጣሚ, ለሌላ ፕሮግራመር የኮድዎን አይነት በተለየ ቡድን ውስጥ ተቀባይነት ካለው መስፈርት ጋር ማስማማት ቀላል ይሆናል.

አንድ ካለዎት ግን ሌላ ያስፈልግዎታል

እንደዚህ አይነት ድንቅ አርታዒ አለ - Notepad++. በእሱ ውስጥ, ትሮችን በቦታዎች መተካት እና በተቃራኒው በአንድ ጠቅታ ይከናወናል, በምናሌው ውስጥ ባለው ክፍል ውስጥ "አርትዕ → ክዋኔዎች ከቦታዎች ጋር" የተሰራ ነው. ይህንን አርታኢ በብሎግ ላይ ለህትመት የታቀዱ የኮድ ቁራጮችን ለመገልበጥ እጠቀማለሁ፣ ምክንያቱም የኋለኛው አንድ የትር ቁምፊን ወደ አንድ ቦታ በቀጥታ ስለሚቀይር ይህ ተቀባይነት የለውም።

ማጠቃለያ

ብዙዎች የዚህ ጽሑፍ አቅራቢ ለራሱ የመረጠው ምንድን ነው? እና 4 የታወቁ ቦታዎችን የትር መጠን መረጠ። ክፍት ቦታዎችን ለመጠቀም በቂ ምክንያት አላገኘሁም ስለዚህም የእኔ ኮድ የኮድ አርታዒውን ውስጠ-ግንኙነት የ4 ቁምፊዎችን ስታንዳርድ ለማያዘጋጅ ሰው እንዲታይ።

የዊንዶው ኖትፓድ ፣ የትር መጠን መቼት የለውም ፣ እና ትሮች 8 ቁምፊዎች እንዲሆኑ የሚያስገድዱ ሌሎች ተመሳሳይ አርታኢዎች ፣ ፕሮግራመር በውስጣቸው የእኔን ኮድ የሚከፍትበትን ምክንያት መገመት አልችልም ፣ ግን ቀድሞውኑ ለረጅም ጊዜ። ሁሉም ኦፕሬቲንግ ሲስተሞች የምንጭ ኮድ ምቹ የሆኑ ልዩ አርታኢዎች አሏቸው።

በማስታወሻ ደብተር ውስጥ መሥራት ጥሩ አይደለም. በሄክስ አርታኢ ውስጥ መስራት ጥሩ ነው :)

ጠያቂ ለሆኑ ገንቢዎች፣ ትሮችን እና ቦታዎችን ኮድ ለመቅረጽ የመጠቀም ጉዳይ አሁንም ጠቃሚ ነው። ሊለዋወጡ ይችላሉ፡ ለምሳሌ 2 ቦታዎች በአንድ ትር ወይም 4? ግን አንድ ነጠላ መስፈርት የለም, ስለዚህ አንዳንድ ጊዜ በገንቢዎች መካከል አለመግባባቶች ይነሳሉ. በተጨማሪም፣ የተለያዩ አይዲኢዎች እና አቀናባሪዎቻቸው ትሮችን በተለየ መንገድ ይይዛሉ።

ለጉዳዩ መፍትሄው ብዙውን ጊዜ በፕሮጀክቱ ውስጥ ደንቦችን መቅረጽ ወይም በአጠቃላይ የፕሮግራም ቋንቋ ላይ ስምምነት ነው.

ከGoogle የመጡ የገንቢዎች ቡድን በ Github ማከማቻ ውስጥ ያሉ ፕሮጀክቶችን መርምሯል። በ14 የፕሮግራም አወጣጥ ቋንቋዎች የተፃፈውን ኮድ ተንትነዋል። የጥናቱ ዓላማ የትሮች እና የቦታዎች ጥምርታ መለየት ነበር - ማለትም ለእያንዳንዱ ቋንቋ በጣም ታዋቂው የጽሑፍ ቅርጸት።

መተግበር

ለትንታኔው፣ የ Github ማከማቻዎች ስም የተመዘገቡበት ነባር ሠንጠረዥ ተጠቅመንበታል።

ከሁለት ወራት በፊት ሁሉም የክፍት ምንጭ Github ኮድ በBigQuery ሰንጠረዦች መልክ መገኘቱን እናስታውስ።

ይሁን እንጂ ሁሉም ማከማቻዎች ለመተንተን አልተመረጡም, ነገር ግን ከጥር እስከ ሜይ 2016 ባለው ጊዜ ውስጥ የተቀበሉት ከፍተኛ ቁጥር ያላቸው 400 ሺህ ማከማቻዎች ብቻ ናቸው.

ከዚህ ሰንጠረዥ በ 14 በጣም ታዋቂ የፕሮግራም ቋንቋዎች ውስጥ ኮድ የያዙ ፋይሎች ወጡ። ይህንን ለማድረግ, የተዛማጁ ፋይሎች ቅጥያዎች እንደ sql መጠይቅ - .java, .h, .js, .c, .php, .html, .cs, .json, .py, .cpp, . xml፣ .rb፣ .cc፣ .ሂድ

የ a.id መታወቂያ፣ መጠን፣ ይዘት፣ ሁለትዮሽ፣ ቅጂዎች፣ ናሙና_repo_ስም፣ የናሙና_ዱካ ከ (የተመረጠ መታወቂያ፣ FIRST(ዱካ) ናሙና_ዱካ፣ FIRST(repo_name) ናሙና_repo_ስም ከየት REGEXP_EXTRACT(መንገድ፣ r"\.([^\.]*) ምረጥ )$) ውስጥ ("ጃቫ""h""js""c""php""html""cs""json""py""cpp"" xml" "rb","cc","go") ቡድን በመታወቂያ) a JOIN b ON a.id = b.id

864.6s አልፏል፣ 1.60 ቲቢ ተሰራ

ጥያቄው ለማጠናቀቅ ረጅም ጊዜ ወስዷል። ይህ የሚያስደንቅ አይደለም, ምክንያቱም በ 190 ሚሊዮን ረድፎች ጠረጴዛ ላይ በ 70 ሚሊዮን ረድፎች ጠረጴዛ ላይ የመቀላቀል ስራ ማከናወን አስፈላጊ ነበር. በአጠቃላይ 1.6 ቴባ መረጃ ተሰርቷል። የጥያቄው ውጤት በዚህ አድራሻ ይገኛል።

ሠንጠረዡ ያለ ብዜቶቻቸው ፋይሎችን ይዟል። ከታች ያሉት የልዩ ፋይሎች ጠቅላላ ቁጥር እና አጠቃላይ መጠናቸው ነው። የተባዙ ፋይሎች በመተንተን ውስጥ አልተካተቱም።

ከዚያ በኋላ የቀረው የመጨረሻውን ጥያቄ ማመንጨት እና ማስጀመር ብቻ ነበር።

ext፣ tabs፣ spaces፣ countext፣ LOG((spaces+1)/(tabs+1)) ከ ((ታብ+1)) lratio ከ (REGEXP_EXTRACT(ናሙና_መንገድ፣ r"\.([^\.]*)$") ምረጥ ext፣ SUM( best="tab") ትሮች፣ SUM(ምርጥ = "ቦታ") ክፍተቶች፣ COUNT(*) ቆጠራ ከFROM (ሳምፕል_ዱካ፣ ናሙና_repo_name፣ IF(SUM(መስመር="")>SUM(መስመር="\t"))፣ "ቦታ"፣ "ታብ") በውስጥ መዝገብ ምርጥ፣ COUNT(መስመር) በውስጥ መዝገብ c ከ (ግራ ምረጥ(ስፕሊት(ይዘት፣"\n")፣ 1) መስመር፣የናሙና_ዱካ፣የናሙና_repo_ስም ከ REGEXP_MATCH(መስመር፣ r")[ \t]")) c>10 # ቢያንስ 10 በቦታ ወይም በትር የሚጀምሩ) በ GROUP BY ext) ትእዛዝ በ DESC LIMIT 100

16.0ዎች አልፈዋል፣ 133 ጂቢ ተሰራ

የእያንዳንዱ መስመር የ133 ጂቢ ኮድ ትንተና 16 ሰከንድ ፈጅቷል። ያው BigQuery እንደዚህ አይነት ፍጥነት ለማግኘት ረድቷል።


ብዙ ጊዜ ትሮች በC ውስጥ ይገኛሉ፣ እና ክፍተቶች በብዛት በጃቫ ይገኛሉ።

ምንም እንኳን ለአንዳንዶቹ የአንዳንድ የቁጥጥር ምልክቶች ጥምርታ ምንም አይደለም, እና በዚህ ርዕስ ላይ ክርክሮች በጣም የራቁ ይመስላሉ. ይህ ለአንዳንድ አይዲኢዎችም ምንም ለውጥ አያመጣም የትኛዎቹ ትሮችን እንደ ብዙ ቦታዎች ያከማቻሉ። ይህ ቁጥር በእጅ የሚዋቀርባቸው IDEዎችም አሉ።

ከተወሰነ ጊዜ በፊት ይህ ችግር በ "ሲሊኮን ቫሊ" ተከታታይ ውስጥ ተጫውቷል. ወንዱ እና ልጅቷ በቅርጸት ጉዳይ ላይ አልተስማሙም። በውጤቱም, አሮጌው ሆሊቫር በባለሙያ አለመግባባቶችን ብቻ ሳይሆን በግላዊ ግንኙነታቸው ላይ ችግር ፈጠረ.

የጥሩ የፕሮግራም አወጣጥ ስታይል አንዱ መለያ ባህሪ ወጥነት ነው - ያነሱ አስገራሚዎች ፣ የተሻሉ ናቸው። ወጥነት ማለት አንድን ፕሮግራም ለማንበብ ቀላል ያደርገዋል፣ በዋናነት ትኩረትን የሚከፋፍሉ ነገሮችን በመቀነስ። እንዲሁም የአንባቢውን አይኖች ይመራቸዋል፣ ለምሳሌ፣ የአንድ ተግባር ወይም የፋይል ግንኙነት ቦታ ላይ ያለው ወጥነት ወደፊት በቀላሉ ለማግኘት ያደርጋቸዋል። እንዲሁም የቅጥ ችግሮችን ለመፍታት ቀላል ያደርገዋል, አንባቢው በቀላሉ እንዲለምደው ይረዳል.

የኮድ ግልጽነት

የእርስዎ ፕሮግራም ግልጽ፣ ለመረዳት የሚቻል እና ለመለወጥ ቀላል መሆኑን ለማረጋገጥ ጥሩ ዘይቤ አስፈላጊ ነው። ጥርጣሬ ካለ, ለችግሩ በጣም ለመረዳት የሚቻል ዘዴን ይምረጡ. የጻፍከው ነገር ሁሉ ምናልባት እንደገና ማንበብ እንዳለብህ አስታውስ። የወደፊት ሕይወትዎን ቀላል ያድርጉት እና ወዲያውኑ ግልጽነት ያግኙ።

ቦታዎች እና ቅርጸት

ነጭ ቦታ በአንባቢ አይኖች ላይ ያለውን ጫና ሊቀንስ ይችላል። ማቀናበሪያው ክፍተቶችን ችላ ስለሚል፣ በማንኛውም ቦታ ማስቀመጥ እና ኮድዎን በፈለጉት መንገድ መቅረጽ ይችላሉ። በጥበብ ካደረጋችሁት ጠቃሚ ይሆናል።

ክፍተቶች ውስጠትን ለመቅረጽ፣ በመግለጫዎች ዙሪያ ያለውን ቦታ፣ የተግባር ፊርማዎችን እና የተግባር ነጋሪ እሴቶችን ለማስቀመጥ ያገለግላሉ። በእርግጥ እነዚህ ሁሉ ነጭ ቦታዎች ጥቅም ላይ የሚውሉባቸው ቦታዎች አይደሉም ነገር ግን ተነባቢነትን ለማሻሻል ነጭ ቦታ ጥቅም ላይ የሚውሉባቸውን ቦታዎች ሀሳብ ሊሰጥዎ ይገባል.

ማስገቢያ

ኮድዎን አስቀድመው ካላስገቡ በቅርቡ ያስገባሉ። ይህ በጣም አስፈላጊ ነው, ምክንያቱም አስፈላጊውን የኮዱ መቆጣጠሪያ መስመሮች በፍጥነት እንዲያገኙ ወይም በእሱ ውስጥ ስህተቶችን እንዲያገኙ ይረዳዎታል. እያንዳንዱን ብሎክ ኮድ ማስገባት አለብዎት፡-

(እውነት) ከሆነ (// ኮድ እገዳ)

የቅንፍ ቅጦች

ኮድ ለማስገባት ብዙ መንገዶች አሉ፣ እና ብዙዎቹ ቅንፍ በሚያስቀምጥበት ቦታ ይወሰናል። አንዳንድ ሰዎች ከላይ ጥቅም ላይ የዋለውን ዘይቤ ይመርጣሉ. አንዳንድ ሰዎች ከዚህ በታች የሚታየውን ዘይቤ ይመርጣሉ።

(እውነት) ከሆነ (// ኮድ እገዳ)

ሌሎች ቅጦች አሉ:

(እውነት) ከሆነ (// ኮድ እገዳ)

የትኛውንም የብሬክ ዘይቤ የመረጡት የእርስዎ ነው፣ ምንም እንኳን በተመሳሳይ ፕሮጀክት ላይ ለሚሰሩ ሁሉ አንድ አይነት የማሰሪያ ዘይቤ እንዲጠቀሙ እመክርዎታለሁ። ለማንኛውም, ለእያንዳንዱ ዘይቤ ክርክሮች አሉ. በስክሪኑ ላይ በተቻለ መጠን ብዙ ኮድ እንዲገጥሙ የሚያስችልዎትን የቅንፍ ስታይል መጠቀም ጥሩ ነው፣ ነገር ግን ወጥነት የዚያኑ ያህል አስፈላጊ ነው።

ገብ ስፋት

ምን ያህል ማስገባት እንደሚፈልጉ የግል ምርጫ ጉዳይ ነው—በማንኛውም ሁኔታ ኮዱ በአንድ ስክሪን ላይ እንዲገጣጠም ትንሽ የሆነ የመግቢያ መጠን መምረጥ የተሻለ ነው። በ 2 እና 8 መካከል ያለው ማንኛውም የመግቢያ ስፋት ምክንያታዊ እና ሊነበብ የሚችል ነው ብዬ አስባለሁ፣ ምንም እንኳን ከአራት በላይ ለመግቢያ ቦታዎች በጣም ረጅም የሆኑ መስመሮችን ሊያስከትሉ እንደሚችሉ ተረድቻለሁ።

በአጠቃላይ በጣም ረጅም ለሆኑ መስመሮች በጣም ጥሩው መፍትሄ የኮዱን ውስብስብነት መቀነስ ወይም ቢያንስ የተወሰኑ ተግባራትን ወደ ተለያዩ ተግባራት ማውጣት ነው. ይህ የመግቢያ ደረጃዎችን ቁጥር ይቀንሳል እና ኮዱን የበለጠ ሊነበብ ይችላል (በትክክል ከተሰራ)።

ትሮች እና ክፍተቶች

በትሮች ወይም ክፍተቶች አጠቃቀም ላይ በተወሰነ ደረጃ ውዝግብ አለ። ይህ በክፍተቶች ወይም በትሮች ገብተህ ገብተህ እንደሆነ ከመጠየቅ ጋር ተመሳሳይ እንዳልሆነ ልብ ይበሉ። ብዙ ሰዎች የጽሑፍ አርታኢው ይህንን እንዲገነዘብላቸው ይፈቅዳሉ (ወይም ትሮችን ወደ ክፍተቶች ለመቀየር ይምረጡ)።

ትክክለኛው ችግር በትሮች እና ቦታዎች ላይ የሆነ ሰው ኮድዎን ሲከፍት የሚሆነው ነው። ለማንኛውም የአምዶች ብዛት ትሮችን ማዘጋጀት ይችላሉ፣ እና ኮድዎን የሚከፍተው ሰው የተለየ የትር ስፋት ሊኖረው ይችላል። ይህ በጥሩ ሁኔታ በተቀረጸ ኮድ እንኳን አስቸጋሪ ሊሆን ይችላል። ክፍተቶችን ብቻ መጠቀም ይህን ችግር ያስተካክላል ምክንያቱም ሁሉም ነገር ተመሳሳይ ሆኖ ይታያል.

አንዳንድ ጊዜ ጥሩ የኮድ ፎርማት በ ውስጥ ሊገኝ ይችላል። የጽሑፍ አርታዒኮዱን በማስተካከል ይህንን ችግር ለማቃለል ይረዳል። እንዲሁም ኮዱን በትክክል ለማሳየት የራስዎን ቅንብሮች መቀየር ይችላሉ (ምንም እንኳን ይህ በጣም ጥሩ ባይሆንም).

በጣም ጥሩው መፍትሄ፣ ትሮችን ለመጠቀም ከወሰኑ፣ በምን እንደሚጠቀሙባቸው በጣም መጠንቀቅ ነው። ትክክለኛው ችግር, በእውነቱ, ትሮች ለመግቢያ ብቻ ሳይሆን አራት ወይም ስምንት ቁምፊዎችን ወደ ቀኝ ለማንቀሳቀስ እንደ ፈጣን መንገድ ሲጠቀሙ ነው. ለምሳሌ የሚከተለውን ኮድ እንመልከት፡-

ከሆነ (የረዥም_ጊዜ_አንድ እና&ረጅም_ጊዜ_ሁለት) (// ኮድ)

ሁለተኛው ሁኔታ የተቀረፀው በትር የተጠለፈ አራት ክፍተቶችን እና ባዶ ቦታን በመጠቀም ከሆነ ፣ ከዚያ በስምንት ክፍተቶች የትር ስፋት በሌላ አርታኢ ውስጥ ሲከፈት ፣ ኮዱ አስቀያሚ ይመስላል።

ከሆነ (የረዥም_ጊዜ_አንድ እና&ረጅም_ሁለት) (// በምርጫ መግለጫው አካል ውስጥ ያለ ኮድ)

ክፍተቶች ለቅርጸት ስራ ላይ ከዋሉ፣ ኮዱ በትክክል ይታያል፡-

ከሆነ (የረዥም_ጊዜ_አንድ እና&ረጅም_ጊዜ_ሁለት) (// የመግለጫ ኮድ ከሆነ)

የቦታዎች ትክክለኛ ያልሆነ አጠቃቀም

ምን ያህል ቦታዎች እንደሚጠቀሙ የእርስዎ ምርጫ ነው። ግን አንዳንድ ጉዳዮችን ማወቅ ተገቢ ነው። በመጀመሪያ ፣ የፕሮግራምዎን አመክንዮ ለማጉላት የሚረዳው የበለጠ ነጭ ቦታ ፣ የተሻለ ይሆናል። ነገር ግን ክፍተቶችህ ግራ እንዲጋቡህ አትፈልግም። ላያደናግርህ ይችላል። በአሁኑ ጊዜነገር ግን ወደፊት እርስዎን ወይም የእርስዎን ኮድ የሚያነብ ሌላ ሰው ሊያደናግርዎት ይችላል። መጥፎ ቅርጸት ምን ይመስላል?

ከሆነ(እውነት)++i;

++j;

መግባቱ የሚነግረን ሁለቱ አገላለጾች ሁኔታዊ መግለጫው ሲፈፀም ይቃጠላሉ፣ ነገር ግን ያ በትክክል የሚሆነው ይህ አይደለም። በመቶዎች ወይም በሺዎች በሚቆጠሩ የኮድ መስመሮች ላይ የአገባብ ስህተትን በሚከታተሉበት ጊዜ እያንዳንዱን መስመር በጥንቃቄ ከመፈተሽ ይልቅ ኮዱን መዝለል ይችላሉ። ኮድዎን መገምገም እና አስፈላጊ ዝርዝሮችን መምረጥ ለእርስዎ ቀላል ይሆንልዎታል፣ ሳይስተዋል ውስጥ የሚገቡ ስህተቶችን በፍጥነት ማግኘት ይችላሉ። በዚህ ምሳሌ ላይ እንደሚታየው፣ የመጀመሪያው መግለጫ ብቻ የመግለጫው አካል ነው።

ለአንድ አካል ስትል ቅጦችን መቀየር የማትፈልግበት ጊዜ አለ፣ ወይም በፅሁፉ ውስጥ ለሥነ ውበት ወይም ለጽሑፍ አጻጻፍ ስልት ብዙ ቦታዎችን ማስገባት አለብህ። እና እዚህ ጥያቄው የሚነሳው “ጽሑፉ በሚያምር ሁኔታ እንዲታይ በኤችቲኤምኤል ውስጥ ነጭ ቦታን እንዴት ማከል እንደሚቻል እና በተመሳሳይ ጊዜ የኮድ ድግግሞሽን ያስወግዱ?” ይህንን ለማድረግ በኤችቲኤምኤል ኮድ ውስጥ የቦታ ዓይነቶችን እና የአጠቃቀም ምሳሌዎችን እንመልከት።

HTML የማይሰበር ቦታ የጽሑፉን ክፍሎች አንዳቸው ከሌላው መለየት በማይፈልጉበት ጊዜ ይረዳልየማይሰበር ቦታ

, ይህ ኮድ ይህን ይመስላል:

ይህ "የማይሰበር ቦታ" ተብሎ የሚጠራው ነው.

የማይሰበር ቦታን የመጠቀም ምሳሌዎች፡-

ወዘተ ምክንያቱም ኢ.ቬልቲስቶቭ 11 ሺህ ሮቤል

ቀጭን ቦታ ከላይ የጠቀስነው የኤችቲኤምኤል ነጭ ቦታ ኮድ በሁሉም ቦታ ይገኛል። ነገር ግን መደበኛ ቦታ በጣም "ትልቅ" ሆኖ የሚወጣበት ጊዜ አለ. ከዚያም ይተካልቀጭን ቦታ

. ይህ ጥቅም ላይ የዋለው የቅርጸ-ቁምፊ ስፋት አንድ አራተኛ የሆነ ቦታ ነው። አንድ ቀጭን ቦታ እንደሚከተለው ይገለጻል.

እና ለአብዛኛው ክፍል የቁጥሮችን አሃዞች ለመከፋፈል ጥቅም ላይ ይውላል, ለምሳሌ "$ 15,000,000" እንደሚከተለው መፃፍ አለበት.

15,000,000 ዶላርማስታወሻ፡- ቀጭን ቦታ በአንዳንድ አሳሾች የቆዩ ስሪቶች ላይ በትክክል ላይታይ ይችላል፣ ግን በሁሉምየቅርብ ጊዜ ስሪቶች

በጣም ጥሩ ይሰራል.

በኤችቲኤምኤል ውስጥ ያሉ ሌሎች የቦታ ዓይነቶች

  • ከላይ ከተነጋገርናቸው በጣም ተዛማጅ ዓይነቶች በተጨማሪ ሌሎችም አሉ.
  •   - የ N ፊደል ርዝመት ቦታ;
  •   - ቦታ የደብዳቤው ርዝመት M;
  • - ዜሮ-ርዝመት የማይገናኝ ቁምፊ;

15,000,000 ዶላርብዙ ቦታዎችን በአንድ ረድፍ ማስቀመጥ ከፈለጉ ጽሑፉን በመለያ ያዙሩት

:

የድር ጣቢያ ገንቢ "Nubex"

CSS በመጠቀም ቦታ

CSS ን በመጠቀም ትሮችን የመፍጠር አማራጭ (indentation) በሚከተለው ቴክኒክ ሊፈታ ይችላል።

የድር ጣቢያ ገንቢ "Nubex"

".
ለአስተያየቶቹ ምላሽ መስጠት ፈልጌ ነበር, ነገር ግን በድምጽ መጠን እና ከዋናው ርዕስ ነፃ የመሆን ፍላጎት የተነሳ, አዲስ ርዕስ ለመፍጠር ወሰንኩ.

ስለዚህ, በቆራጩ ስር - ለምን ትሮች ከቦታዎች የተሻሉ ናቸው, ስለ ትሮች በጣም ጉልህ የሆኑ የተሳሳቱ አመለካከቶች እና እንዴት በትክክል እንደሚጠቀሙባቸው.

አብዛኛው ሰው (ቢያንስ በሀበሬ ላይ) ትሮችን እንደሚመርጥ በመግለፅ እንጀምር።

እንደ እውነቱ ከሆነ፣ የሚገርመው ነገር ብዙዎች አሁንም መግባታቸውና አሰላለፍ አለመለየታቸው ነው። ደህና፣ ይህ መግባቱ ነው፡-
ለ (int i = 0; i< 10; i++) { if (a[i] == 0) do_something(i); }

እና ይህ አሰላለፍ ነው-
int አንዳንድ_ተለዋዋጭ = 0; int v1 = 0;

የመጀመሪያው በሁለቱም በትሮች እና በቦታዎች ሊከናወን ይችላል, ነገር ግን በትሮች ሲሰሩ, ሁሉም ሰው የመግቢያውን ስፋት በራሱ ጣዕም ማስተካከል ይችላል እና ምንም ነገር የትም አይሄድም እና ሁለተኛው - ከቦታዎች ጋር በጥብቅ.

IDE ለዚህ የስማርት ታቦች አማራጭ አለው፡-

ትሮችን በትክክል ከተጠቀሙ (ማለትም ለመግቢያ ብቻ) የፕሮግራም አወጣጥ ዘይቤዎን ሳይጥሱ በቀላሉ የትሮቹን መጠን መለወጥ ይችላሉ።

2 ቦታዎች በትር፡

5 ቦታዎች በትር፡

9 ቦታዎች በትር፡-

ታዲያ ምን ችግሮች እየጠፉብን ነው?

1. እያንዳንዱ ፕሮግራመር ለራሱ ጣዕም የሚስማማውን የትር ርዝመት ማስተካከል ይችላል። ሁሌምበተግባር ይሠራል. ኮዱ በጣም በተጣበቀ ጊዜ, የትር ስፋቱን ወደ ሁለት ቦታዎች, አለበለዚያ - ወደ አራት ማዘጋጀት ይችላሉ.
2. ከሶስተኛ ወገን ቤተ-መጻሕፍት ጋር መስራት ቀላል ነው. አንዳንድ ቤተ-መጻሕፍት የሁለት ቦታዎች የትር ስፋት ያለው ቅጥ ይደግፋሉ፣ አንዳንዶቹ ደግሞ አራት ቦታዎች ስፋት አላቸው። ትሮችን ብቻ መጠቀም በቅጡ ላይ ገደቦችን አያመጣም።

ካለፈው ርዕስ ሁለት ሃሳቦችን እጠቅሳለሁ፡-

በፈተና ውስጥ ትሮችን ከያዙ ቤተ-መጻህፍት ከሚጠቀሙ ፕሮጀክቶች ጋር መስራት አስቸጋሪ ነው። በአንድ ቤተ-መጽሐፍት ውስጥ ትሩ 3 ቁምፊዎች ነው, በሌላ ውስጥ ደግሞ 4 ቁምፊዎች ነው እንበል. እና በፕሮጀክቱ ውስጥ 2 ምልክቶችን ይጠቀማሉ. በዚህ ምክንያት፣ የኮድዎ የተወሰነ ክፍል በስህተት ቅርጸት በአርታዒው ውስጥ ይታያል።

በእውነቱ ፣ ሰንጠረዥን በሚጠቀሙ ፕሮጄክቶች ውስጥ እንደዚህ ያሉ ችግሮች የሉትም - የቁጥጥር ሰሌዳው ስፋት የሌለው ስለሆነ ፣ ግን በተመሳሳይ ጊዜ የተለያዩ የቦታ-ትር መጠኖች ያላቸውን ሁለት ቤተ-መጽሐፍት መደገፍ ችግር ይፈጥራል ፣ ምክንያቱም ከአሁን በኋላ ትር መጠቀም አይችሉም (ስለዚህ አይዲኢው ትሮችን በቦታዎች እንዲተካ)። እርግጥ ነው, ይህንን ችግር በተለያዩ ፕሮጄክቶች በተለያየ አሠራር ለመፍታት እድሉ አለ, ነገር ግን ይህ አሁንም ክራንች ነው, እና አሁንም ከተለያዩ የጎጆዎች መጠኖች አእምሮዎን ያበላሻል.
ፍየል ወደ አትክልቱ ውስጥ እንዲገባ ማድረግ ቀላል ነው. የእርስዎ ትር ከ 4 ክፍተቶች ጋር እኩል ነው እንበል። የሆነ ሰው የተለየ የትር መጠን በመጠቀም ወይም ክፍተቶችን በግልፅ በማስገባት የሆነ ነገር ትንሽ አስተካክሏል። ሁሉም ነገር ለእሱ ጥሩ መስሎ ነበር፣ ነገር ግን የኮድ መስመርዎ የሆነ ቦታ ይሄዳል።

በተመሳሳይ መልኩ ሠንጠረዥ ልኬት የሌለው ነው። ይህ ችግር የሚከሰተው ቦታዎችን በሚጠቀሙ ፕሮጀክቶች ላይ ብቻ ነው. ትሮች ጥቅም ላይ በሚውሉበት ቦታ ቢያንስ 2 ወይም 10 ቁምፊዎች ሊሆኑ ይችላሉ.
የተለያዩ አርታኢዎችን በሚፈልጉት የትር መጠን ላይ ያለማቋረጥ ማስተካከል ያስፈልግዎታል። ምንም እንኳን ሳያስተካከሉ ኮዱን ብቻ ማየት ቢፈልጉም። አለበለዚያ ሁሉም ነገር ይፈርሳል. በሶስተኛ ወገን ማሽን ላይ በኮድዎ የሆነ ነገር ማድረግ ሲኖርብዎት ይህ በተለይ የማይመች ነው።

በአንዳንድ ፋይል ውስጥ ያለውን ኮድ በፍጥነት ለማስተካከል ኬትን እከፍታለሁ እንበል። ውይ፣ የትር መጠኑ ሁለት ክፍተቶች ነው። ወደ ማዋቀሩ ውስጥ መግባት አለብዎት. እና በሚቀጥለው ፋይል ውስጥ ከሌላ ቤተ-መጽሐፍት ውስጥ አራት ቦታዎች አሉ. ለመግቢያ ከትር ይልቅ ቦታ መጠቀም አለብህ፣ አስፈሪ። በትሮች ላይ እንደዚህ አይነት ችግር የለም.
የኮድ ደረጃዎች የተለያዩ ውስጠቶች የሚያስፈልጋቸው ከፕሮጀክቶች ጋር በአንድ ጊዜ ለሚሰሩ ተጨማሪ ችግሮች። መመዘኛዎች የጠረጴዛ አጠቃቀምን የሚጠይቁ ከሆነ, ይህ አሁንም ሁልጊዜ የሚያሰቃይ ጥርስ ነው. በቦታዎች ሁኔታ, እንደገና ሁሉም ነገር በጣም ቀላል ነው.

ከላይ እንደተብራራው፣ ይህ ችግር በተለይ ከችግሮች ጋር እንጂ በትሮች አይደለም።

በተጨማሪም ክፍተቶች በቁልፍ ሰሌዳ ቀስቶች በፍጥነት መንቀሳቀስ አለመቻል (በእያንዳንዱ ቦታ ላይ ጠቅ ያድርጉ, እና በብሎክ ሳይሆን), ስህተት የመሥራት እድል (ከ 4 ይልቅ 3 ቦታዎችን በአንድ ቦታ ላይ ማስቀመጥ, ይህም ተጨማሪውን ያጠፋል) እንደዚህ ያሉ ጉዳቶች አሉት. መዋቅር) ፣ የፋይል መጠን መጨመር እና ብዙ ተጨማሪ።

ማጠቃለያ

ክፍተቶች በትሮች ላይ ምንም ጠቃሚ ጥቅም የላቸውም, እና ፕሮግራመሩን ወደ ማዕቀፍ ውስጥ አናገድበውም እና ለእሱ በጣም ትንሽ (ወይም በጣም ትልቅ) በሆኑ ትሮች እንዲሰቃይ አናስገድደውም.

ዋና

የምትጠቀመው ነገር ምንም ለውጥ አያመጣም። የእርስዎን ኮድ እና ቅደም ተከተል መከታተል አስፈላጊ ነው ሁልጊዜ በተመሳሳይ ዘይቤ ተጣብቋል. የትሮች/የቦታዎች ማሳያን ያብሩ፣ አንዳንድ ጊዜ የትር መጠኑን ወደ ሌላ ይቀይሩ እና ዓይንዎን በኮዱ ውስጥ ያሂዱ።

UPD: አስተያየቶች መሠረት ማስታወሻ

ስለ ትሮች ጽሑፍ ለመጻፍ ለረጅም ጊዜ ፈልጌ ነበር። ግን ስለ "Tabs VS Spaces" ሳይሆን ትሮችን እንዴት በትክክል መጠቀም እንደሚቻል ላይ። አስተያየቶቹ ብዙዎች ስለ ውስጠ-ገብ እና አሰላለፍ እንደማያውቁ አረጋግጠዋል። የዚህ ጽሑፍ ዋና ነጥብ ትሮችን የሚጠቀም ሁሉም ሰው ትክክል ነው ማለት አይደለም። የኮድ ደረጃዎች አሉ፣ የቋንቋ ባህሪያት አሉ፣ እና የግል ምርጫዎች አሉ።
በጣም አስፈላጊው ነገር የመግቢያ ደንቦችን ማወቅ እና እነሱን መጠቀም መቻል ነው. እና ሁለቱን ቅጦች ፈጽሞ አትቀላቅሉ. ማስታወሻ - "ትሮችን እና ቦታዎችን አትቀላቅሉ", ነገር ግን ሁለቱን ቅጦች አትቀላቅሉ.
በግሌ በርዕሱ ውስጥ የተገለጸውን አቀራረብ እንድትጠቀም እመክራለሁ, ነገር ግን እየሰሩት ያሉት የኮዱ ደረጃዎች የተለየ ነገር ካላሳዩ ብቻ ነው.