Умовы Ёды

Зьвесткі зь Вікіпэдыі — вольнай энцыкляпэдыі

Умовы Ёды, таксама Запіс Ёды — у жаргоне праграмоўцаў стыль праграмаваньня, пры якім умоўныя інструкцыі запісваюцца ў адваротным парадку ад звычайнага. Такім чынам, пры запісе Ёды пастаянныя значэньні знаходзяцца па левы бок умовы, а зьменныя — па правы. Гэткі стыль праграмаваньня названы паводле пэрсанажу «Зорных войнаў» Ёды, які будуе фразы ў нязвыклым парадку.

Прыклад[рэдагаваць | рэдагаваць крыніцу]

Звычайна ўмоўная інструкцыя запісваецца наступным чынам:

if ($value == 52) { /* … */ }
// Чытаецца: «Калі значэньне роўнае 52…»

Умовы Ёды апісваюць гэтую ж інструкцыю наступным чынам:

if (52 == $value) { /* … */ }
// Чытаецца: «Калі 52 роўнае значэньню…»

Сьпярша зьмяшчаецца пастаянная, пасьля зьменная, якая зь ёй параўноўваецца, бо так казаў Ёда («Майстар Квай-Гон, маеце Вы нешта сказаць яшчэ?»).

Перавагі[рэдагаваць | рэдагаваць крыніцу]

Перамена месцамі пастаяннай і зьменнай не зьмяняе альгарытм работы праграмы (калі толькі значэньні не даюць у выніку false — глядзіце ніжэй). У мовах праграмаваньня, дзе сымбаль «=» выкарыстоўваецца не для параўнаньня, а для прысвойваньня, часта памыляюцца, замест параўнаньня прысвойваючы зьменнай значэньне.

if (myNumber = 52) { /* … */ }
// Зьменнай myNumber прысвойваецца значэньне 52, у выніку папярэдняе значэньне зьменнай заціраецца

З выкарыстаньнем запісу Ёды:

if (52 = myNumber) { /* … */ }
// Гэта сынтаксычная памылка, і праграма ня зможа скампілявацца

Паколькі 52 — канстанта і ня можа быць зьмененая, кампілятар выдасьць памылку.

У некаторых выпадках стыль Ёды дапаможа пазьбегнуць памылак апрацоўкі пустых значэньняў.

String myString = null;
if (myString.equals(«foobar»)) { /* … */ }
// У Java здарыцца памылка NullPointerException

З выкарыстаньнем запісу Ёды:

String myString = null;
if («foobar».equals(myString)) { /* … */ }
// Выраз мае значэньне false, як і павінна

Крытыка[рэдагаваць | рэдагаваць крыніцу]

Умовы Ёды крытыкуюць за горшую чытэльнасьць, якая не пераважвае апісаныя вышэй плюсы.

Некаторыя мовы праграмаваньня не дазваляюць прысвойваць значэньні зьменных ва ўмоўных інструкцыях, што робіць немагчымым зьяўленьне падобных памылак.

Глядзіце таксама[рэдагаваць | рэдагаваць крыніцу]

Крыніцы[рэдагаваць | рэдагаваць крыніцу]

Вонкавыя спасылкі[рэдагаваць | рэдагаваць крыніцу]