ÐÑавилÑнÑй вÑÐ±Ð¾Ñ Ð¸Ð¼ÐµÐ½Ð¸ пеÑеменной â одна из ÑамÑÑ Ð²Ð°Ð¶Ð½ÑÑ Ð¸ ÑложнÑÑ Ð²ÐµÑей в пÑогÑаммиÑовании, коÑоÑÐ°Ñ Ð¾ÑлиÑÐ°ÐµÑ Ð½Ð°ÑинаÑÑего Ð¾Ñ Ð³ÑÑÑ.
Ðело в Ñом, ÑÑо болÑÑÑÑ ÑаÑÑÑ Ð²Ñемени Ð¼Ñ ÑÑаÑим не на изнаÑалÑное напиÑание кода, а на его ÑазвиÑие.
Ðозможно, ÑÑи Ñлова не оÑевиднÑ, еÑли Ð²Ñ Ð¿Ð¾ÐºÐ° ÑÑо ниÑего болÑÑого не пиÑали или пиÑеÑе код «ÑолÑко Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи» (write-only, напиÑал 5 ÑÑÑок, оÑдал заказÑÐ¸ÐºÑ Ð¸ забÑл). Ðо Ñем более ÑеÑÑÑзнÑе пÑоекÑÑ Ð²Ñ Ð±ÑдеÑе делаÑÑ, Ñем более акÑÑалÑÐ½Ñ Ð¾Ð½Ð¸ бÑдÑÑ Ð´Ð»Ñ Ð²Ð°Ñ.
ЧÑо Ñакое ÑÑо «ÑазвиÑие»? ÐÑо когда Ñ Ð²ÑеÑа напиÑал код, а ÑÐµÐ³Ð¾Ð´Ð½Ñ (или ÑпÑÑÑÑ Ð½ÐµÐ´ÐµÐ»Ñ) пÑÐ¸Ñ Ð¾Ð¶Ñ Ð¸ Ñ Ð¾ÑÑ ÐµÐ³Ð¾ поменÑÑÑ. ÐапÑимеÑ, вÑвеÑÑи ÑообÑение не Ñак, а Ñдак⦠ÐбÑабоÑаÑÑ ÑоваÑÑ Ð¿Ð¾-дÑÑгомÑ, добавиÑÑ ÑÑнкÑионалÑноÑÑÑ⦠Ргде Ñ Ð¼ÐµÐ½Ñ Ñам ÑообÑение Ñ ÑаниÑÑÑ? Ргде ÑоваÑ?..
ÐоÑаздо пÑоÑе найÑи нÑжнÑе даннÑе, еÑли они пÑавилÑно помеÑенÑ, Ñо еÑÑÑ ÐºÐ¾Ð³Ð´Ð° пеÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð½Ð°Ð·Ð²Ð°Ð½Ð° пÑавилÑно.
ÐÑавила именованиÑ
-
ÐÑавило 1.
Ðикакого ÑÑанÑлиÑа. ТолÑко английÑкий.
ÐепÑиемлемÑ:
var moiTovari; var cena; var ssilka;ÐодойдÑÑ:
var myGoods; var price; var link;Чем Ð¿Ð»Ð¾Ñ ÑÑанÑлиÑ?
Ðо-пеÑвÑÑ , ÑÑеди ÑазÑабоÑÑиков вÑего миÑа пÑинÑÑо иÑполÑзоваÑÑ Ð°Ð½Ð³Ð»Ð¸Ð¹Ñкий ÑзÑк Ð´Ð»Ñ Ð¸Ð¼Ñн пеÑеменнÑÑ . РеÑли Ð²Ð°Ñ ÐºÐ¾Ð´ поÑом попадÑÑ Ðº комÑ-Ñо дÑÑгомÑ, напÑÐ¸Ð¼ÐµÑ Ð²Ñ Ð±ÑдеÑе в команде болÑÑе Ñем из одного Ñеловека, Ñо велик ÑанÑ, ÑÑо ÑÑанÑÐ»Ð¸Ñ ÐµÐ¼Ñ Ð½Ðµ понÑавиÑÑÑ.
Ðо-вÑоÑÑÑ , ÑÑÑÑкий ÑÑанÑÐ»Ð¸Ñ Ñ Ñже ÑиÑаеÑÑÑ Ð¸ длиннее, Ñем Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Ð½Ð° английÑком.
Ð-ÑÑеÑÑÐ¸Ñ , в пÑоекÑÐ°Ñ Ð²Ñ Ð½Ð°Ð²ÐµÑнÑка бÑдеÑе пÑименÑÑÑ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñеки, напиÑаннÑе дÑÑгими лÑдÑми. Ðногое Ñже гоÑово, в ÑаÑпоÑÑжении ÑовÑеменного ÑазÑабоÑÑика еÑÑÑ Ð¼Ð°ÑÑа инÑÑÑÑменÑов, вÑе они иÑполÑзÑÑÑ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Ð¿ÐµÑеменнÑÑ Ð¸ ÑÑнкÑий на английÑком ÑзÑке, и вÑ, конеÑно, бÑдеÑе Ð¸Ñ Ð¸ÑполÑзоваÑÑ. Ð Ð¾Ñ ÐºÐ¾Ð´Ð°, где ÑÑанÑÐ»Ð¸Ñ Ð¿ÐµÑемеÑан Ñ Ð°Ð½Ð³Ð»Ð¸Ð¹Ñким â волоÑÑ Ð¼Ð¾Ð³ÑÑ Ð²ÑÑаÑÑ Ð´Ñбом, и не ÑолÑко на голове.
ÐÑли вÑ, вдÑÑг, не знаеÑе английÑкий â Ñамое вÑÐµÐ¼Ñ Ð²ÑÑÑиÑÑ.
-
ÐÑавило 2.
ÐÑполÑзоваÑÑ ÐºÐ¾ÑоÑкие имена ÑолÑко Ð´Ð»Ñ Ð¿ÐµÑеменнÑÑ Â«Ð¼ÐµÑÑного знаÑениÑ».
ÐазÑваÑÑ Ð¿ÐµÑеменнÑе именами, не неÑÑÑими ÑмÑÑловой нагÑÑзки, напÑимеÑ
a,e,p,mgâ можно ÑолÑко в Ñом ÑлÑÑае, еÑли они иÑполÑзÑÑÑÑÑ Ð² неболÑÑом ÑÑагменÑе кода и Ð¸Ñ Ð¿Ñименение оÑевидно.ÐообÑе же, название пеÑеменной должно бÑÑÑ Ð¿Ð¾Ð½ÑÑнÑм. Ðногда Ð´Ð»Ñ ÑÑого нÑжно иÑполÑзоваÑÑ Ð½ÐµÑколÑко Ñлов.
-
ÐÑавило 3.
ÐеÑеменнÑе из неÑколÑÐºÐ¸Ñ Ñлов пиÑÑÑÑÑ
вмеÑÑеÐоÑТак.ÐапÑимеÑ:
var borderLeftWidth;ÐÑÐ¾Ñ ÑпоÑоб запиÑи назÑваеÑÑÑ Â«Ð²ÐµÑблÑжÑей ноÑаÑией» или, по-английÑки, «camelCase».
СÑÑеÑÑвÑÐµÑ Ð°Ð»ÑÑеÑнаÑивнÑй ÑÑандаÑÑ, когда неÑколÑко Ñлов пиÑÑÑÑÑ ÑеÑез знак подÑÑÑкиваниÑ
'_':var border_left_width;ÐÑеимÑÑеÑÑвенно в JavaScript иÑполÑзÑеÑÑÑ Ð²Ð°ÑианÑ
borderLeftWidth, в ÑаÑÑноÑÑи во вÑÑÑоеннÑÑ ÑзÑковÑÑ Ð¸ бÑаÑзеÑнÑÑ ÑÑнкÑиÑÑ . ÐоÑÑÐ¾Ð¼Ñ ÑелеÑообÑазно оÑÑановиÑÑÑÑ Ð½Ð° нÑм.ÐÑÑ Ð¾Ð´Ð½Ð° пÑиÑина вÑбÑаÑÑ Â«Ð²ÐµÑблÑжÑÑ Ð½Ð¾ÑаÑиÑ» â запиÑÑ Ð² ней немного коÑоÑе, Ñем Ñ Ð¿Ð¾Ð´ÑÑÑкиванием, Ñ.к. не нÑжно вÑÑавлÑÑÑ
'_'. -
ÐÑавило поÑледнее, главное.
ÐÐ¼Ñ Ð¿ÐµÑеменной должно макÑималÑно ÑÑÑко ÑооÑвеÑÑÑвоваÑÑ Ñ ÑанимÑм в ней даннÑм.
ÐÑидÑмÑвание ÑÐ°ÐºÐ¸Ñ Ð¸Ð¼Ñн â одновÑеменно коÑоÑÐºÐ¸Ñ Ð¸ ÑоÑнÑÑ , пÑи коÑоÑÑÑ Ð²Ñегда понÑÑно, ÑÑо где лежиÑ, пÑÐ¸Ñ Ð¾Ð´Ð¸Ñ Ñ Ð¾Ð¿ÑÑом, но ÑолÑко еÑли ÑознаÑелÑно ÑÑÑемиÑÑÑÑ Ðº ÑÑомÑ.
ÐозволÑÑе поделиÑÑÑÑ Ð¾Ð´Ð½Ð¸Ð¼ неболÑÑим ÑекÑеÑом, коÑоÑÑй оÑÐµÐ½Ñ Ð¿ÑоÑÑ, но Ð¿Ð¾Ð·Ð²Ð¾Ð»Ð¸Ñ ÑлÑÑÑиÑÑ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Ð¿ÐµÑеменнÑÑ Ð¸ ÑÑÐºÐ¾Ð½Ð¾Ð¼Ð¸Ñ Ð²ÑемÑ.
ÐÑÐ²Ð°ÐµÑ Ñак, ÑÑо, напиÑав код, Ð¼Ñ ÑеÑез некоÑоÑое вÑÐµÐ¼Ñ Ðº Ð½ÐµÐ¼Ñ Ð²Ð¾Ð·Ð²ÑаÑаемÑÑ, надо ÑÑо-Ñо попÑавиÑÑ. Ð Ð¼Ñ Ð¿ÑимеÑно помним, ÑÑо пеÑеменнаÑ, в коÑоÑой Ñ
ÑаниÑÑÑ Ð½Ñжное вам знаÑение, назÑваеÑÑÑ⦠ÐÑ, Ñкажем, borderLeftWidth. ÐÑ Ð¸Ñем ÐµÑ Ð² коде, не наÑ
одим, но, ÑазобÑавÑиÑÑ, обнаÑÑживаем, ÑÑо на Ñамом деле пеÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð½Ð°Ð·ÑвалаÑÑ Ð²Ð¾Ñ Ñак: leftBorderWidth.
ÐÑли Ð¼Ñ Ð¸Ñем пеÑеменнÑÑ Ñ Ð¾Ð´Ð½Ð¸Ð¼ именем, а Ð½Ð°Ñ Ð¾Ð´Ð¸Ð¼ â Ñ Ð´ÑÑгим, Ñо заÑаÑÑÑÑ ÑамÑй лÑÑÑий Ñ Ð¾Ð´ â ÑÑо пеÑеименоваÑÑ Ð¿ÐµÑеменнÑÑ, ÑÑÐ¾Ð±Ñ Ð¸Ð¼Ñ Ð±Ñло Ñем, коÑоÑое Ð²Ñ Ð¸Ñкали.
То еÑÑÑ, в коде leftBorderWidth, а Ð¼Ñ ÐµÑ Ð¿ÐµÑеименÑем на ÑÑ, коÑоÑÑÑ Ð¸Ñкали: borderLeftWidth.
ÐаÑем? Ðело в Ñом, ÑÑо в ÑледÑÑÑий Ñаз, когда Ð²Ñ Ð·Ð°Ñ Ð¾ÑиÑе ÑÑо-Ñо попÑавиÑÑ, Ñо Ð²Ñ Ð±ÑдеÑе иÑкаÑÑ Ð¿Ð¾ ÑÐ¾Ð¼Ñ Ð¶Ðµ ÑÐ°Ð¼Ð¾Ð¼Ñ Ð¸Ð¼ÐµÐ½Ð¸. СооÑвеÑÑÑвенно, ÑÑо ÑÑÐºÐ¾Ð½Ð¾Ð¼Ð¸Ñ Ð²Ð°Ð¼ вÑемÑ.
ÐÑÑÑ Ð¿ÑиÑина и поважнее. ÐоÑколÑÐºÑ Ð¸Ð¼ÐµÐ½Ð½Ð¾ ÑÑо Ð¸Ð¼Ñ Ð¿ÐµÑеменной пÑиÑло в Ð³Ð¾Ð»Ð¾Ð²Ñ â ÑкоÑее вÑего, оно болÑÑе ÑооÑвеÑÑÑвÑÐµÑ Ñ ÑанимÑм Ñам даннÑм, Ñем Ñо, коÑоÑое Ð¼Ñ Ð¿ÑидÑмали изнаÑалÑно. ÐÑклÑÑÐµÐ½Ð¸Ñ Ð±ÑваÑÑ, но в лÑбом ÑлÑÑае â Ñакое неÑовпадение â ÑÑо повод задÑмаÑÑÑÑ.
ЧÑÐ¾Ð±Ñ Ñдобно пеÑеименовÑваÑÑ Ð¿ÐµÑеменнÑÑ, нÑжно иÑполÑзоваÑÑ Ñ Ð¾ÑоÑий ÑедакÑÐ¾Ñ JavaScript, Ñогда ÑÑÐ¾Ñ Ð¿ÑоÑеÑÑ Ð±ÑÐ´ÐµÑ Ð¾ÑÐµÐ½Ñ Ð¿ÑоÑÑÑм и бÑÑÑÑÑм.
СмÑÑл имени пеÑеменной â ÑÑо Â«Ð¸Ð¼Ñ Ð½Ð° коÑобке», по коÑоÑÐ¾Ð¼Ñ Ð¼Ñ Ñможем макÑималÑно бÑÑÑÑо Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑ Ð½ÑжнÑе нам даннÑе.
Ðе нÑжно боÑÑÑÑÑ Ð¿ÐµÑеименовÑваÑÑ Ð¿ÐµÑеменнÑе, еÑли Ð²Ñ Ð¿ÑидÑмали Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑÑÑе.
СовÑеменнÑе ÑедакÑоÑÑ Ð¿Ð¾Ð·Ð²Ð¾Ð»ÑÑÑ Ð´ÐµÐ»Ð°ÑÑ ÑÑо оÑÐµÐ½Ñ Ñдобно и бÑÑÑÑо. ÐÑо в конеÑном ÑÑÑÑе ÑÑÐºÐ¾Ð½Ð¾Ð¼Ð¸Ñ Ð²Ð°Ð¼ вÑемÑ.
ÐÑваÑÑ Ð»ÐµÐ½Ð¸Ð²Ñе пÑогÑаммиÑÑÑ, коÑоÑÑе, вмеÑÑо Ñого ÑÑÐ¾Ð±Ñ Ð¾Ð±ÑÑвиÑÑ Ð½Ð¾Ð²ÑÑ Ð¿ÐµÑеменнÑÑ, иÑполÑзÑÑÑ ÑÑÑеÑÑвÑÑÑÑÑ.
Ð ÑезÑлÑÑаÑе полÑÑаеÑÑÑ, ÑÑо ÑÐ°ÐºÐ°Ñ Ð¿ÐµÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ â как коÑобка, в коÑоÑÑÑ ÐºÐ¸Ð´Ð°ÑÑ Ñо одно, Ñо дÑÑгое, Ñо ÑÑеÑÑе, пÑи ÑÑом не менÑÑ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ðµ. ЧÑо в ней Ð»ÐµÐ¶Ð¸Ñ ÑейÑаÑ? РкÑо его знаеÑ⦠ÐÑжно подойÑи, пÑовеÑиÑÑ.
СÑÐºÐ¾Ð½Ð¾Ð¼Ð¸Ñ Ñакой пÑогÑаммиÑÑ Ð²ÑÐµÐ¼Ñ Ð½Ð° обÑÑвлении пеÑеменной â поÑеÑÑÐµÑ Ð² два Ñаза болÑÑе на оÑладке кода.
«ÐиÑнÑÑ» пеÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ â добÑо, а не зло.
ÐомменÑаÑии
<code>, Ð´Ð»Ñ Ð½ÐµÑколÑÐºÐ¸Ñ ÑÑÑок кода — Ñег<pre>, еÑли болÑÑе 10 ÑÑÑок — ÑÑÑÐ»ÐºÑ Ð½Ð° пеÑоÑниÑÑ (plnkr, JSBin, codepenâ¦)