პასუხია, რომ უცვლელი ტიპები უფრო უსაფრთხოა შეცდომებისგან, უფრო ადვილად გასაგები და უფრო მზად ცვლილებებისთვის. ცვალებადობა ართულებს იმის გაგებას, თუ რას აკეთებს თქვენი პროგრამა და ბევრად ართულებს კონტრაქტების აღსრულებას.
ცუდია ცვალებადი ობიექტები?
დაბოლოს, ცვალებადი ობიექტები არის მკვლელი ერთდროულ სიტუაციებში. როდესაც თქვენ წვდებით ცვალებადი ობიექტს ცალკეული ძაფებიდან, თქვენ უნდა გაუმკლავდეთ ჩაკეტვას. ეს ამცირებს გამტარუნარიანობას და მკვეთრად ართულებს თქვენს კოდს შენარჩუნებას.
რატომ არის გაზიარებული მდგომარეობა ცუდი?
საზიარო ცვალებადი მდგომარეობა მუშაობს შემდეგნაირად: თუ ორ ან მეტ მხარეს შეუძლია შეცვალოს ერთი და იგივე მონაცემები (ცვლადები, ობიექტები და ა.შ.). და თუ მათი სიცოცხლის ხანგრძლივობა ერთმანეთს ემთხვევა. მაშინ არსებობს რისკი, რომ ერთი მხარის ცვლილებები ხელს უშლის სხვა მხარეებს სწორად იმუშაონ.
რატომ არის უცვლელობა კარგი?
მეხსიერების შემცირებული მოხმარების გარდა, უცვლელობა საშუალებას გაძლევთ ოპტიმიზაცია მოახდინოთ თქვენი აპლიკაციის მითითების და მნიშვნელობების ტოლობის გამოყენებით. ეს აადვილებს იმის დანახვას, შეიცვალა თუ არა რაიმე. მაგალითად, რეაქციის კომპონენტში მდგომარეობის ცვლილება.
რა არის უცვლელობის უარყოფითი მხარეები?
უცვლელი კლასების ერთადერთი რეალური მინუსი არის, რომ მათ სჭირდებათ ცალკე ობიექტი თითოეული განსხვავებული მნიშვნელობისთვის. ამ ობიექტების შექმნა შეიძლება იყოს ძვირი, განსაკუთრებით თუ ისინი დიდია. მაგალითად, დავუშვათ, რომ თქვენ გაქვთ მილიონი ბიტიანი BigInteger და გსურთ შეცვალოთ მისი დაბალი რიგის ბიტი:BigInteger moby=…; მობი=მობი.