Өзгөчөлөр кодду жазууну чындап жеңилдетет, мында ыргытылган өзгөчөлүк инварианттарды бузуп, объекттерди ыраатсыз абалда калтырат. Алар негизинен сиз жасаган ар бир билдирүүнүн көбүн ыргытып, аны туура чече аларын эстеп калууга мажбурлайт. Мындай кылуу татаал жана карама-каршылыктуу болушу мүмкүн.
Эмне үчүн өзгөчөлүктөр C++ жаман?
C++ өзгөчөлүктөрүнө көп учурда тыюу салынганынын негизги себеби - өзгөчө учурдун коопсуз C++ кодун жазуу абдан кыйын. Коопсуздук өзгөчөлүгү - бул сиз көп уккан термин эмес, бирок, негизинен, стек ачылып калса, өтө эле бузулбай турган кодду билдирет.
Эскиден башкасы жаманбы?
Системаны кармабоо үчүн Сиз жок дегенде мисалыдан башкасын колдонушуңуз керек: SystemExit же KeyboardInterrupt сыяктуу өзгөчөлөр тутумун карманбоо үчүн. Бул жерде документтерге шилтеме. Жалпысынан сиз кармагыңыз келген өзгөчөлөрдү ачык аныкташыңыз керек, каалабаган өзгөчөлөрдү кармап калбоо үчүн. Кайсы өзгөчөлөрдү этибарга албасыңызды билишиңиз керек.
Эмне үчүн кармоо өзгөчөлүгү дээрлик дайыма жаман идея?
catch(Exception) бул жаман практика анткени ал бардык RuntimeException (текшерилбеген бөтөнчөлүктөрдү) да кармайт. Бул javaга мүнөздүү болушу мүмкүн: Кээде сиз текшерилген өзгөчөлүктөрдү таштаган ыкмаларды чакырышыңыз керек болот. Эгер бул сиздин EJB/бизнес логикалык катмарыңызда болсо, сизде 2 тандоо бар - аларды кармаңыз же кайра ыргытыңыз.
Өзгөчөлөр аткаруу үчүн жаманбы?
Тыянак. Колдонбойталардын потенциалдуу иштешине тийгизген таасири үчүн өзгөчөлүктөр жаман идея. Өзгөчө жагдайлар иштөө убактысынын көйгөйлөрү менен күрөшүүнүн бирдиктүү жолун камсыз кылууга жардам берет жана алар таза кодду жазууга жардам берет. Бирок, кодуңузга ташталган өзгөчөлүктөргө көз салышыңыз керек.