क्या यह गैर-महत्वपूर्ण टाइपो को हल करने के लिए पूरी तरह से प्रतिबद्ध है?


67

यदि मैं कोड में एक गैर-महत्वपूर्ण टंकण में आता हूं (कहो, एक प्रिंट (त्रुटि) स्टेटमेंट में एक गलत एपॉस्ट्रॉफी), क्या यह उस त्रुटि को हल करने के लिए एक प्रतिबद्ध बनाने के लायक है, या क्या इसे केवल अकेले छोड़ दिया जाना चाहिए?

विशेष रूप से, मैं इन गैर-महत्वपूर्ण टाइपो को हल करने के मूल्य के खिलाफ प्रतिबद्ध लॉग के गमिंग-अप को तौलना के बारे में उत्सुक हूं। मैं उनका समाधान करने की ओर झुक रहा हूं। क्या मुझे पांडित्य है?


40
यदि एक तुच्छ वचन कुछ भी हो जाता है, तो आपको या तो एक बेहतर वीसीएस, बेहतर लॉग-फ़िल्टरिंग उपकरण, या फ़िक्स की विभिन्न गंभीरता को नोट करने के लिए बेहतर प्रथाओं में निवेश करने की आवश्यकता है।
रेक्स केर

@ root45 हालांकि यदि आप इसके लिए परिणामों को देखते हैं, तो वे सभी एक अलग प्रकार के व्याकरण हैं, जो इस प्रश्न के बारे में पूछ रहे हैं।
इज़्काता

जवाबों:


130

मेरी व्यक्तिगत भावना यह है कि गुणवत्ता में सुधार एक अतिरिक्त प्रतिबद्ध लॉग प्रविष्टि की छोटी असुविधा के लायक है, यहां तक ​​कि छोटे सुधारों के लिए भी। आखिरकार, छोटे सुधार बहुत कुछ गिनाते हैं जब आप टूटी हुई खिड़की के प्रभाव में कारक होते हैं

आप इसे एक TRIVIAL:टैग के साथ उपसर्ग करना चाहते हैं , या इसे तुच्छ के रूप में चिह्नित कर सकते हैं यदि आपका वीसीएस इसका समर्थन करता है।


72
बस यह जोड़ना चाहते हैं कि मैं इस तरह सामान बल्कि इस तरह से अलग किया जाना चाहिए कि कुछ और के साथ में lumped। गांठ के साथ समस्या यह है कि बहुत अधिक शोर एक कोड समीक्षक को पुनरावृत्ति परिवर्तनों से विचलित कर सकता है। +1
एंडी

9
टूटी खिड़की के प्रभाव का उल्लेख करने के लिए +1। छोटी चीजें मायने रखती हैं। यदि सब कुछ वास्तव में साफ है, तो लोग लापरवाही से लिखे गए या अनकहे कोड को करने से पहले दो बार सोचेंगे।
रॉय टिंकर

25
इसके अलावा अगर आप इसे किसी फीचर के साथ जोड़ते हैं, तो उस फीचर को वापस रोल करें जिसमें आप बदलाव को ढीला करते हैं। एक समय में एक ही काम करें।
ctrl-alt-delor

4
मुझे वास्तव में दिलचस्पी होगी जो VCSs को टिप्पणी के रूप में तुच्छ के रूप में चिह्नित करने की अनुमति देते हैं। मैंने SVN, Hg और Git के साथ काम किया है, और दोनों में ऐसा कुछ भी नहीं देखा है।
Xion

3
@ और वह शोर सबसे खराब हिस्सा नहीं है ... अगर कोई बाद में उदाहरण के लिए इस कमिट को वापस करने का फैसला करता है क्योंकि वे उस सुविधा को नहीं चाहते हैं, तो अचानक आप एक छोटा सुधार भी खो देते हैं जो कमिट का हिस्सा था।
rFactor

49

आप पांडित्यपूर्ण नहीं हैं, और उन्हें व्यक्तिगत रूप से हल करना बेहतर है। जितना अधिक परमाणु परिवर्तन होता है, बेहतर होता है - आप नहीं चाहते कि 500 ​​टिप्पणी / टाइपो परिवर्तनों के साथ दुर्घटनाग्रस्त बग को ठीक किया जाए।


9
+1 प्रत्येक संशोधन केवल एक विशिष्ट फिक्स से संबंधित होना चाहिए। यदि प्रत्येक पुनरीक्षण में वास्तविक परिवर्तनों के बीच तय किए गए यादृच्छिक टाइपो का एक समूह है, तो यह NTSMARE हो जाता है।
अनुदान

28

सामान्य मामले में: हाँ

यह हमेशा लायक रख-रखाव को बढ़ाने के लिए अपने सॉफ़्टवेयर के।

बस इसके लिए जाओ।

यदि आप एक रिलीज़ शिप करने वाले हैं ...

... और यदि आप टीम लीडर नहीं हैं, तो उसके साथ जांच करें


कमिट लॉग की सामग्री के बारे में ...

मैं दूसरों से सहमत हूं कि आपको कम से कम कुछ लिखना चाहिए ताकि यह "सुविधा" से संबंधित हो, लेकिन यह केवल एक अलग टाइपो को ठीक करने के बारे में है।

एक सामान्य अभ्यास यह है कि आपके समस्या ट्रैकर में कुछ कभी न मरने वाले कार्यों को कालातीत और अंतहीन परिवर्तनों को ट्रैक करने के लिए किया जाता है। उदाहरण के लिए, किसी कार्य के लिए यह असामान्य नहीं है:

  • बड़े स्वचालित हानिरहित क्लीनअप (व्हाट्सएप स्वीप),
  • व्याकरण और टाइपो शिकार फैलता है,
  • सिस्टम संशोधनों का निर्माण,
  • आदि...

बस सतर्क रहें कि जब लोग सही ढंग से दस्तावेज़ टिकट बनाने के बारे में आलसी हो जाते हैं, तो उन्हें किसी भी चीज़ के बारे में फेंक-कार्य टास्क आईडी के रूप में उपयोग नहीं किया जाता है। विशेष रूप से यदि आप उन कमियों को अस्वीकार करते हैं जो एक आईडी से जुड़ी नहीं हैं (जो कि एक अच्छी बात है, लेकिन इन जैसे बड़े कार्य आलसी डेवलपर्स के लिए और भी अधिक आकर्षक होंगे)।


7
एक टाइपो फिक्स के लिए अपने टीम लीडर के साथ जाँच? अगर मैं टीम लीडर होता, जो आगामी रिलीज के साथ जोर देता, मैं ऐसी तुच्छताओं से परेशान नहीं होना चाहता।
जोह

2
@ जो: यह नहीं है कि आप जरूरी निर्माण को तोड़ सकते हैं, लेकिन अन्य बिल्ड नौकरियां हो सकती हैं, या कोई पहले से ही टैग किया जा सकता है और उपयोग के लिए तैयार हो सकता है, और आपका ऑडिट नियंत्रण (आपके उद्योग पर निर्भर करता है) आपको इस हानिरहित प्रतिबद्ध को बाध्य करने के लिए मजबूर कर सकता है। कार्यों और आवश्यकताओं के लिए, इसलिए अगर यह कहीं से भी निकलता है जो कि बस थोड़ा सा सिरदर्द हो सकता है; जिसे आप रिलीज़ होने के कुछ दिनों बाद आसानी से बचा सकते थे। लेकिन सामान्य तौर पर, मैं आपसे सहमत होगा, और मैं यह भी कहूंगा कि इस तरह से चलने वाली कंपनी गलत कर रही है। लेकिन आप वह नहीं हैं जो इसे ठीक करेगा, इसलिए यदि आप वरिष्ठ नहीं हैं तो इसे उनके द्वारा चलाएं।
जूल

2
@ जो: मूल रूप से, अगर मेरी टीम लीड में एक नई बिल्ड का निर्माण प्रणाली पर अचानक कूदते हुए देखती है, जब वह एक नया बिल्ड शुरू करने के बारे में है (या पहले से ही इसे शुरू कर रही है), तो मैं आपको आश्वस्त कर सकता हूं कि इस दृष्टिकोण का उपयोग करके उसके तनाव का स्तर बढ़ जाएगा साथ ही ...
जूल

7

टाइप्स को एक प्रतिबद्धता के रूप में जोड़ा जाना चाहिए। गलत वर्तनी वाले शब्द या व्याकरण संबंधी त्रुटियों को ठीक करने से आपके कोड की पठनीयता बढ़ जाएगी।

"फिक्स्ड टाइपो" या "फ़ाइल टाइप में फिक्स्ड टाइपो" जैसे एक संदेश का उपयोग करने से आपको इन कमिट्स को अन्य, प्रमुख कोड कमिट्स से अलग करने में मदद मिलेगी।


7

हां, आपको यह पूरी तरह से करना चाहिए, विशेष रूप से एक परियोजना में जल्दी।

क्यों? दो बिंदु:

  1. आपको पता नहीं होगा कि कोई टाइपो "क्रिटिकल" है या नहीं जब तक कि बहुत देर न हो जाए। कुछ फिक्स शायद तय नहीं होते क्योंकि हर कोई सोचता है कि यह एक बड़ी बात नहीं होगी। तक है।

  2. जल्दी और जानबूझकर एक टाइपो को ठीक करना, कोड / फ़ंक्शन कॉल की कई सौ पंक्तियों के बाद इसे ठीक करने से ज्यादा आसान होगा। फिर से, अस्थायी हैक आश्चर्यजनक रूप से अर्ध-स्थायी बन सकते हैं। यही कारण है कि मुझे उन ऑब्जेक्ट्स से निपटना पड़ता है जिनके पास "CollapseAll" और "ColapseAll" दोनों तरीके हैं।


2
हां - सभी सही जवाबों में, मुझे यह उल्लेख करने के लिए सबसे अच्छा लगता है कि यह "कब" पर निर्भर करता है।
साने जूल

4

व्याकरण संबंधी त्रुटियों के लिए, जो किसी अंतिम उपयोगकर्ता द्वारा देखी जा सकती हैं, तो हाँ, हर तरह से यह कमिट करने लायक है क्योंकि यह पूरी तरह से संभव है कि कोई उपयोगकर्ता या क्यूए साथ आए और त्रुटि की रिपोर्ट कर सके और इसे ट्रैक करने की आवश्यकता होगी। यदि यह पहले से ही तय है तो समस्या को हल करने में लगने वाले समय में तेजी ला सकता है।

यदि यह कोड के चारों ओर टिप्पणियों में एक व्याकरणिक त्रुटि है, तो मैं इसके बारे में कुछ भी नहीं करूंगा जब तक कि यह वास्तविक कोड में परिवर्तन का हिस्सा न हो और साथ ही जिस स्थिति में आप कोड के प्रलेखन को अद्यतन कर रहे हैं।


3

यदि आप कमिट लॉग को गम करने के बारे में चिंतित हैं, तो आप कुछ और गलत कर रहे हैं। :-) बार-बार आना एक अच्छी बात है! मैं हर समय टाइपो फिक्स करता हूं। कोडबेस ASAP में उन्हें प्राप्त करें और देव चक्र को गति दें!


2
I commit typo fixes all the timeIMO जो चिंताजनक है, बेहतर अंग्रेजी के साथ प्रोग्रामर खोजने की कोशिश करें?
रेयान

हां ले लो फिर इन दिनों क्या मिल सकता है। प्रोग्रामर ढूंढना जो काम करने योग्य कोड लिख सकता है, एक गंभीर समस्या है!
ब्रायन नोब्लुच जुएल

2

मैंने हाँ कर दी। उन्हें चेक करें। मैंने एक ऐसी कंपनी के लिए काम किया है, जिसमें लोगों को सामान की जाँच करने से नफरत है। मेरा मतलब लगभग कुछ भी है। कोड समीक्षाएं व्यापक थीं और इसलिए यदि आपने एक बदलाव में जाँच की कि एक टाइपो तय किया गया है जिस पर आप विलाप करते हैं। आप कोड की स्थिति की कल्पना कर सकते हैं। वास्तव में कोड भयानक नहीं था, लेकिन यह शराब की तरह बहने के बजाय छल की तरह उबला हुआ था।


0

क्या आपकी परिवर्तन प्रबंधन प्रक्रिया इसकी अनुमति देती है?

मेरे वातावरण में, मेरे द्वारा किए गए प्रत्येक वचन को एक परिवर्तन अनुरोध के लिए वापस बाँध दिया जाना चाहिए जो या तो व्यापार उपयोगकर्ताओं द्वारा अनुरोध किया गया है या एक अनिवार्य सिस्टम-स्तरीय परिवर्तन है, जो संबंधित अंत-उपयोगकर्ता परीक्षण प्रक्रियाओं के साथ पूरा होता है। एक सरल टाइपो, जैसा कि आप बता रहे हैं, शायद उनमें से किसी के रूप में लॉग इन नहीं किया गया होगा (मैंने अपने एक ऐप में टाइपो और व्याकरण संबंधी त्रुटियां पाई हैं, जो बिना किसी सूचना के 4 साल से अधिक के लिए मौजूद थीं), इसलिए यदि / जब ऑडिटर आए थे फोन करने पर मुझे खुद को समझाने में बहुत मुश्किल समय होगा।

मैं आपके द्वारा बताए जा रहे परिवर्तन को सहेजूंगा (और वास्तव में एक है, तथ्य की बात के रूप में - एक विधि का नाम गलत-वर्तनी है और मैंने अभी इसे खोज लिया है) एक समय के लिए जब मुझे "वास्तविक" परिवर्तन करना पड़ता है के रूप में अच्छी तरह से बनाया है और लॉग में "निश्चित विभिन्न टाइपो" डाल दिया।


+1 कुछ वातावरण में यह सत्य है। कृपया नीचे न झुकें क्योंकि यह सच नहीं है जहाँ आप काम करते हैं।
MarkJ

-1 आपकी परिवर्तन प्रबंधन प्रक्रिया में बड़ा समय लगता है । मैं समझ सकता हूं (और यहां तक ​​कि पसंद ) कि प्रत्येक अनुरोध को परिवर्तन अनुरोध से संबंधित होना चाहिए - आपकी प्रक्रिया का यह हिस्सा ठीक दिखता है। लेकिन OMG यह डेवलपर द्वारा शुरू किए गए अनुरोधों की तरह दिखता है (जैसे कि इस पर रिफ्लेक्टर / फिक्स टाइपोस ) निषिद्ध है जो मेरे लिए एक बड़ा लाल झंडा खड़ा करता है। यह व्यापार उपयोगकर्ताओं / लेखा परीक्षकों को हमेशा डेवलपर्स की तुलना में बेहतर जानता है - अगर वह कभी सच्चाई के करीब होगा, तो वे कोड खुद लिखेंगे
gnat

यदि डेवलपर उन लोगों को मना सकता है जो उन परिवर्तनों के साथ आगे बढ़ने की स्वीकृति देते हैं जो वे बनाने के लिए सार्थक हैं, तो वे आगे बढ़ सकते हैं। लेकिन अगर मुझे एक विधि के नाम पर एक सरल टाइपो मिलता है, या कुछ कोड मिलते हैं जो कॉपी / पेस्ट किए जाते हैं जिन्हें एक विधि में फिर से भरना चाहिए, तो मैं प्राधिकरण के बिना परिवर्तन नहीं कर सकता। यह केवल "कोड के साथ सही काम करने" के बारे में नहीं है - स्वीकृति परीक्षण का प्रदर्शन किया जाना है, और डेवलपर्स ऐसी स्थिति में नहीं हैं जहां वे व्यवसाय के लोगों से कह सकते हैं "मैंने यह बदलाव किया है, आप कभी भी नोटिस नहीं करेंगे कि मैं क्या हूं किया, लेकिन आपको एक परीक्षण चक्र से गुजरना होगा। ”
१।

@alroc कि "if-can-convince" बस एक यथोचित दिखने वाली सतह के तहत एक काउंटर-उत्पादक प्रक्रिया को छुपाता है। बड़े बदलावों के बारे में व्यापार / ऑडिट को मनाने की आवश्यकता, सहमत मील के पत्थर की चौकियों / रिलीज आदि के बारे में अच्छी समझ है, ठीक है। देव और क्यूए के एक सप्ताह के प्रयास को उचित ठहराने के लिए कुछ घंटे / दिन खर्च करना, यह थकाऊ लेकिन उचित है, ठीक है। लेकिन हर एक स्पेलिंग फिक्स या एक्स्ट्रेक्ट मेथड के लिए इसे मजबूर करना ... मुझे एक ब्रेक दें - यह कुछ भी नहीं है, लेकिन गलत समय पर गलत तरीके से डाला गया नियंत्रण है
gnat

मुझे फिर से यह समझाने की कोशिश करें। यदि मैं एक टाइपो को सही कर सकता हूं या किसी अन्य, अनुमोदित परिवर्तन पर काम करते हुए एक विधि निकाल सकता हूं, तो मैं उस पर किसी को भी बेचने के बिना उसे पर्ची कर सकता हूं। लेकिन मैं ऐसा परिवर्तन नहीं कर सकता जो उपयोगकर्ता-दृश्यमान न हो और पहले उस पर मौजूद शक्तियों को बेचे बिना व्यवसाय / उपयोगकर्ताओं पर इसका प्रत्यक्ष सकारात्मक प्रभाव न पड़े।
alroc

-1

इतिहास को संपादित करने के लिए DVCS का उपयोग करें

यदि आप एक स्वच्छ प्रतिबद्ध इतिहास के बारे में चिंतित हैं, तो फीचर शाखाओं में अपना मुख्य काम करने पर विचार करें । यदि आप वितरित वीसीएस के साथ काम करते हैं , तो आप इसे मुख्य शाखा में धकेलने से पहले अपने प्रतिबद्ध इतिहास को आसानी से संपादित कर सकते हैं। यदि आप SVN पर हैं, तो Git आज़माएँ - यह बिड्रोवनिक रूप से सबवर्सन के साथ इंटरैक्ट कर सकता है, और आप वास्तव में सबवर्सन करने से पहले इतिहास को संपादित भी कर सकते हैं।

सामान्य ज्ञान रखें अन्यथा

अगर आप कमिटेड हिस्ट्री को एडिट या एडिट नहीं करना चाहते हैं, तो नाबालिग टाइपो के लिए जल्दी या एटॉमिक कमिट करने का कोई कार्यात्मक कारण नहीं है जो ऑटोमैटिक टेस्ट या कंपटीशन को प्रभावित नहीं करता है । इस मामले में, मेरी राय में, प्रतिबद्ध इतिहास को स्वच्छ रखने के लिए वास्तव में परमाणु करने से अधिक महत्वपूर्ण होना चाहिए। एक "नियमित" संशोधन के साथ एक या दो टाइपो सुधारों को मिलाकर किसी भी संभावित समीक्षा प्रक्रिया को नुकसान नहीं होगा। आप एक बड़े कोडिंग सत्र के बाद "सफाई" कर रहे हैं, हालांकि आप एक प्रतिबद्ध में कई तुच्छ सुधारों को समूह में रखना चाह सकते हैं।

ध्यान दें कि कार्यात्मक कीड़े अभी भी एक परमाणु प्रतिबद्ध में ASAP प्रतिबद्ध होना चाहिए।

यहाँ जवाबों के सामान्य स्वर से लगता है कि मामूली टाइपो के लिए भी "कमिट फ़ॉर सब फास्ट" रणनीति का सुझाव दिया गया है। मैं चर्चा से असहमत और स्वागत करता हूं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.