Underscore: ΠŸΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠΈΠ²Π°Π½ΠΈΠ΅ Π½Π΅ слСдуСт Π·Π° SemVer

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 14 июн. 2014  Β·  32ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: jashkenas/underscore

Π‘Ρ‹Π»ΠΎ Π±Ρ‹ Ρ‡Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Ссли Π±Ρ‹ Underscore слСдовал Semantic Versioning . Π’ настоящСС врСмя это Π½Π΅ Ρ‚Π°ΠΊ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ‚Π°ΠΊΠΈΠ΅ Π²Π΅Ρ‰ΠΈ, ΠΊΠ°ΠΊ _Π»ΠΎΠΌΠΊΠ°_ bindAll ΠΈ _ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅_ unzip , происходили Π±Π΅Π· сущСствСнных ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ вСрсии.

Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ потрСбитСлям Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ исправлСния ошибок ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π½Π΅ опасаясь Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠ΄Π°.

Π‘Π°ΠΌΡ‹ΠΉ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Lo-Dash, ΠΏΠΎ большСй части, придСрТиваСтся Ρ‚Ρ€ΠΎΠΏΠΈΠ½ΠΎΠΊ, ΠΏΡ€ΠΎΠ»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Underscore, поэтому Ρƒ Π½Π΅Π³ΠΎ Π΅ΡΡ‚ΡŒ прСимущСство, Π·Π°ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π΅ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ дСрТится Π΄ΠΎ выпуска Underscore, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄Ρ‚ΠΎΠ»ΠΊΠ½ΡƒΡ‚ΡŒ ΠΊ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΡŽ вСрсии для ΠΏΠ°Ρ€ΠΈΡ‚Π΅Ρ‚Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. ΠžΡ‚Π»ΠΈΡ‡ΠΈΡ ΠΎΡ‚ Underscore, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, большС Π² ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠΉ ΠΈ мСньшС Π² сущСствСнных критичСских измСнСниях.

КакоС это ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΊ стратСгии вСрсий Underscore? Lo-Dash обновляСт вСрсии послС semver, поэтому вСрсия 2.x ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ Π½Π° Π²Π΅Ρ€ΡΠΈΡŽ 3.x.

Lo-Dash добавляСт Π³ΠΎΡ€Π°Π·Π΄ΠΎ большС Π·Π°Ρ‰ΠΈΡ‚Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° для bc Π·Π° счСт бСспорядка Π² ΠΊΠΎΠ΄Π΅, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Underscore стрСмится ΠΊ лаконичности.

КакоС ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Π·Π°Ρ‰ΠΈΡ‚Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ Π»Π°ΠΊΠΎΠ½ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΊ стратСгии вСрсий?

Π›Π΅Π³Ρ‡Π΅ ΡƒΠΉΡ‚ΠΈ с нСсколькими Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ строками ΠΊΠΎΠ΄Π°, ΠΊΠΎΠ³Π΄Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ большС (Lo-Dash ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ 8,7 тыс. строк ΠΏΡ€ΠΎΡ‚ΠΈΠ² 1,4 тыс. для Underscore).

Π£ Lo-Dash Π΅ΡΡ‚ΡŒ встроСнныС Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹, LOC Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΊ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ вСрсиями.

Π’ Lo-Dash Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π³ΠΎΡ€Π°Π·Π΄ΠΎ большС Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… ошибок, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ большая Ρ‡Π°ΡΡ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΠΈ являСтся Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ.

НСльзя Π»ΠΈ Ρ‚ΠΎ ΠΆΠ΅ самоС ΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎ Underscore?

Он Ρ‚Π°ΠΊΠΆΠ΅ написан Π½Π΅ΠΏΡ€ΠΎΠΏΠΎΡ€Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ большим количСством участников (Π²Ρ‹), Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ измСнСния Underscore, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, исходят ΠΎΡ‚ Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡ€Π° участников, Π° это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π½ΠΎΠ²Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ Π² любоС врСмя, Π° ΠΈΠ½ΠΎΠ³Π΄Π° большиС измСнСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ нСсовмСстимыС измСнСния происходят Π² нСподходящиС ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹ для Π³Ρ€Π°Ρ„ΠΈΠΊ выпуска.

Π’ΠΎΡ‚ ΠΏΠΎΡ‡Π΅ΠΌΡƒ Ρƒ Underscore Π΅ΡΡ‚ΡŒ ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°ΡŽΡ‰ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ/ΠΎΡ‚ΠΊΠ»ΠΎΠ½ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ ΠΎΡ‚Π»ΠΎΠΆΠΈΡ‚ΡŒ Π΄ΠΎ Π±ΡƒΠ΄ΡƒΡ‰Π΅Π³ΠΎ выпуска.
ΠžΠΏΡΡ‚ΡŒ ΠΆΠ΅, Π½Π΅ относится ΠΊ вСрсии.

Как Π½ΠΈ странно, Ρƒ мСня Π΅ΡΡ‚ΡŒ ΠΎΡ‰ΡƒΡ‰Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Underscore Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ нСдостаток, Π·Π°ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΉΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…, Ρ‡Π΅ΠΌ Lo-Dash (ΠΏΠΎ самой своСй ΠΏΡ€ΠΈΡ€ΠΎΠ΄Π΅ Lo-Dash ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚Π΅Π½Π΄Π΅Π½Ρ†ΠΈΡŽ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π½ΡƒΠΆΠ½Π° Π΅Π³ΠΎ ΠΌΠΎΡ‰ΡŒ).

Π― Π½Π΅ согласСн, Ρƒ Lo-Dash тысячи ΠΈΠΆΠ΄ΠΈΠ²Π΅Π½Ρ†Π΅Π², ΠΈ всС Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π² этом экспСртами.

Π‘ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚ΠΎΠΌΡƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ ΠΈΠΌΠ΅Ρ‚ΡŒ Π΄Π΅Π»ΠΎ с послСдствиями критичСских ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΈ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΈΡ… Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Lo-Dash слСдуСт Π·Π° semver, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ Π½Π΅ приходится ΠΈΠΌΠ΅Ρ‚ΡŒ Π΄Π΅Π»ΠΎ с послСдствиями, ΠΏΠΎΠΊΠ° ΠΎΠ½ΠΈ Π½Π΅ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΡƒΡ‚ ΠΊ обновлСнию основной вСрсии. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Underscore, Lo-Dash Π½Π΅ измСнится ΠΈΠ·-ΠΏΠΎΠ΄ Π½ΠΎΠ³, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ использовали ~ для Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° вСрсий ΠΏΠ°ΠΊΠ΅Ρ‚Π°.

НаконСц, ΠΊΠ°ΠΊ соавтор ΠΈ Π²Π΅Π΄ΡƒΡ‰ΠΈΠΉ участник Exoskeleton, я Π±ΡƒΠ΄Ρƒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ, ΠΊΡ‚ΠΎ скаТСт Π²Π°ΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Ρ‚ΠΎΠΆΠ΅ Π½Π΅ слСдили Π·Π° semver.

Π’ΠΎΠ³Π΄Π° Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ это ΠΈΠ· своСго ΠΌΠ°Ρ€ΠΊΠ΅Ρ‚ΠΈΠ½Π³Π°.

Π― Π½Π΅ Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ какая-Ρ‚ΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Underscore Π½Π΅ ΠΌΠΎΠ³ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ Π½Π° semver.
НС ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ этому - плохая услуга для Π²Π°ΡˆΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ :frowning:

ВсС 32 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡ†ΠΈΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ https://github.com/jashkenas/backbone/issues/2888#issuecomment -29076249:

Бпасибо, Π½ΠΎ строгоС слСдованиС «сСмантичСской» вСрсии Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ для Backbone. Учитывая, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ прСдставляСт собой ΠΏΠΎΡ‡Ρ‚ΠΈ всю ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒ ΠΈ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ°Π»ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², ΠΏΠΎΡ‡Ρ‚ΠΈ любоС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ (ΠΏΠ°Ρ‚Ρ‡, запрос Π½Π° Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅) Π² Backbone ΠΊΠ°ΠΊΠΈΠΌ-Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π½Π°Ρ€ΡƒΡˆΠ°Π΅Ρ‚ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ... Π΄Π°ΠΆΠ΅ Ссли Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для людСй, ΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‰ΠΈΡ…ΡΡ Π½Π° Ρ€Π°Π½Π΅Π΅ Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅.

ΠžΡΡ‚Π°Π»ΡŒΠ½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ коммСнтария Ρ‚ΠΎΠΆΠ΅ стоит ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, Π΄Π°ΠΆΠ΅ Ссли Π²Ρ‹ Π½Π΅ согласны.

@ akre54 МнС Π»ΡŽΠ±ΠΎΠΏΡ‹Ρ‚Π½ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π΄ΡƒΠΌΠ°Π΅Ρ‚Π΅ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Lo-Dash (Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° Underscore) ΠΈ ExosJS (Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° Backbone), ΠΌΠΎΠ³ΡƒΡ‚ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ Π·Π° semver?

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ эти вставныС Π·Π°ΠΌΠ΅Π½Ρ‹ _ΠΌΠΎΠ³ΡƒΡ‚ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ Π·Π° semver_, Π½Π΅ бросаСт Π»ΠΈ это Π³Π°Π΅Ρ‡Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ ΠΎΠΏΡ€Π°Π²Π΄Π°Π½ΠΈΠ΅, ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ³Π°Π΅ΠΌΠΎΠ΅ ядром Underscore/Backbone?

ΠŸΠ°Ρ€Π° Π²Π΅Ρ‰Π΅ΠΉ.

Lo-Dash, ΠΏΠΎ большСй части, придСрТиваСтся Ρ‚Ρ€ΠΎΠΏΠΈΠ½ΠΎΠΊ, ΠΏΡ€ΠΎΠ»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Underscore, поэтому Ρƒ Π½Π΅Π³ΠΎ Π΅ΡΡ‚ΡŒ прСимущСство, Π·Π°ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π΅ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ дСрТится Π΄ΠΎ выпуска Underscore, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄Ρ‚ΠΎΠ»ΠΊΠ½ΡƒΡ‚ΡŒ ΠΊ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΡŽ вСрсии для ΠΏΠ°Ρ€ΠΈΡ‚Π΅Ρ‚Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. ΠžΡ‚Π»ΠΈΡ‡ΠΈΡ ΠΎΡ‚ Underscore, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, большС Π² ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠΉ ΠΈ мСньшС Π² сущСствСнных критичСских измСнСниях.

Lo-Dash добавляСт Π³ΠΎΡ€Π°Π·Π΄ΠΎ большС Π·Π°Ρ‰ΠΈΡ‚Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° для bc Π·Π° счСт бСспорядка Π² ΠΊΠΎΠ΄Π΅, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Underscore стрСмится ΠΊ лаконичности. Π›Π΅Π³Ρ‡Π΅ ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ нСсколькими Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ строками ΠΊΠΎΠ΄Π°, ΠΊΠΎΠ³Π΄Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ большС (Lo-Dash Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с 8,7 тыс. строк ΠΏΡ€ΠΎΡ‚ΠΈΠ² 1,4 тыс. для Underscore). Dash, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ большая Ρ‡Π°ΡΡ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΠΈ являСтся Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ.

Он Ρ‚Π°ΠΊΠΆΠ΅ написан Π½Π΅ΠΏΡ€ΠΎΠΏΠΎΡ€Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ большим количСством участников (Π²Ρ‹), Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ измСнСния Underscore, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, исходят ΠΎΡ‚ Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡ€Π° участников, Π° это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π½ΠΎΠ²Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ Π² любоС врСмя, Π° ΠΈΠ½ΠΎΠ³Π΄Π° большиС измСнСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ нСсовмСстимыС измСнСния происходят Π² нСподходящиС ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹ для Π³Ρ€Π°Ρ„ΠΈΠΊ выпуска.

Как Π½ΠΈ странно, я Ρ‡ΡƒΠ²ΡΡ‚Π²ΡƒΡŽ, Ρ‡Ρ‚ΠΎ Underscore Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ нСдостаток Π³Ρ€Π°Ρ„ΠΈΠΊΠ° выпуска, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…, Ρ‡Π΅ΠΌ Lo-Dash (ΠΏΠΎ самой своСй ΠΏΡ€ΠΈΡ€ΠΎΠ΄Π΅ Lo-Dash ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚Π΅Π½Π΄Π΅Π½Ρ†ΠΈΡŽ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π½ΡƒΠΆΠ½Π° Π΅Π³ΠΎ ΠΌΠΎΡ‰ΡŒ). Π‘ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚ΠΎΠΌΡƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ ΠΈΠΌΠ΅Ρ‚ΡŒ Π΄Π΅Π»ΠΎ с послСдствиями критичСских ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΈ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΈΡ… Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ.

НаконСц, ΠΊΠ°ΠΊ соавтор ΠΈ Π²Π΅Π΄ΡƒΡ‰ΠΈΠΉ участник Exoskeleton, я Π±ΡƒΠ΄Ρƒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ, ΠΊΡ‚ΠΎ скаТСт Π²Π°ΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Ρ‚ΠΎΠΆΠ΅ Π½Π΅ слСдили Π·Π° semver. Π£ нас Ρ‚Π°ΠΊΠΆΠ΅ Π΅ΡΡ‚ΡŒ прСимущСства Lo-Dash, ΠΊΠ°ΠΊ описано Π²Ρ‹ΡˆΠ΅.

Lo-Dash, ΠΏΠΎ большСй части, придСрТиваСтся Ρ‚Ρ€ΠΎΠΏΠΈΠ½ΠΎΠΊ, ΠΏΡ€ΠΎΠ»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Underscore, поэтому Ρƒ Π½Π΅Π³ΠΎ Π΅ΡΡ‚ΡŒ прСимущСство, Π·Π°ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π΅ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ дСрТится Π΄ΠΎ выпуска Underscore, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄Ρ‚ΠΎΠ»ΠΊΠ½ΡƒΡ‚ΡŒ ΠΊ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΡŽ вСрсии для ΠΏΠ°Ρ€ΠΈΡ‚Π΅Ρ‚Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. ΠžΡ‚Π»ΠΈΡ‡ΠΈΡ ΠΎΡ‚ Underscore, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, большС Π² ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠΉ ΠΈ мСньшС Π² сущСствСнных критичСских измСнСниях.

КакоС это ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΊ стратСгии вСрсий Underscore? Lo-Dash обновляСт вСрсии послС semver, поэтому вСрсия 2.x ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ Π½Π° Π²Π΅Ρ€ΡΠΈΡŽ 3.x.

Lo-Dash добавляСт Π³ΠΎΡ€Π°Π·Π΄ΠΎ большС Π·Π°Ρ‰ΠΈΡ‚Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° для bc Π·Π° счСт бСспорядка Π² ΠΊΠΎΠ΄Π΅, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Underscore стрСмится ΠΊ лаконичности.

КакоС ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Π·Π°Ρ‰ΠΈΡ‚Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ Π»Π°ΠΊΠΎΠ½ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΊ стратСгии вСрсий?

Π›Π΅Π³Ρ‡Π΅ ΡƒΠΉΡ‚ΠΈ с нСсколькими Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ строками ΠΊΠΎΠ΄Π°, ΠΊΠΎΠ³Π΄Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ большС (Lo-Dash ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ 8,7 тыс. строк ΠΏΡ€ΠΎΡ‚ΠΈΠ² 1,4 тыс. для Underscore).

Π£ Lo-Dash Π΅ΡΡ‚ΡŒ встроСнныС Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹, LOC Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΊ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ вСрсиями.

Π’ Lo-Dash Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π³ΠΎΡ€Π°Π·Π΄ΠΎ большС Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… ошибок, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ большая Ρ‡Π°ΡΡ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΠΈ являСтся Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ.

НСльзя Π»ΠΈ Ρ‚ΠΎ ΠΆΠ΅ самоС ΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎ Underscore?

Он Ρ‚Π°ΠΊΠΆΠ΅ написан Π½Π΅ΠΏΡ€ΠΎΠΏΠΎΡ€Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ большим количСством участников (Π²Ρ‹), Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ измСнСния Underscore, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, исходят ΠΎΡ‚ Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡ€Π° участников, Π° это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π½ΠΎΠ²Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ Π² любоС врСмя, Π° ΠΈΠ½ΠΎΠ³Π΄Π° большиС измСнСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ нСсовмСстимыС измСнСния происходят Π² нСподходящиС ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹ для Π³Ρ€Π°Ρ„ΠΈΠΊ выпуска.

Π’ΠΎΡ‚ ΠΏΠΎΡ‡Π΅ΠΌΡƒ Ρƒ Underscore Π΅ΡΡ‚ΡŒ ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°ΡŽΡ‰ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ/ΠΎΡ‚ΠΊΠ»ΠΎΠ½ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ ΠΎΡ‚Π»ΠΎΠΆΠΈΡ‚ΡŒ Π΄ΠΎ Π±ΡƒΠ΄ΡƒΡ‰Π΅Π³ΠΎ выпуска.
ΠžΠΏΡΡ‚ΡŒ ΠΆΠ΅, Π½Π΅ относится ΠΊ вСрсии.

Как Π½ΠΈ странно, Ρƒ мСня Π΅ΡΡ‚ΡŒ ΠΎΡ‰ΡƒΡ‰Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Underscore Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ нСдостаток, Π·Π°ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΉΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…, Ρ‡Π΅ΠΌ Lo-Dash (ΠΏΠΎ самой своСй ΠΏΡ€ΠΈΡ€ΠΎΠ΄Π΅ Lo-Dash ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚Π΅Π½Π΄Π΅Π½Ρ†ΠΈΡŽ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π½ΡƒΠΆΠ½Π° Π΅Π³ΠΎ ΠΌΠΎΡ‰ΡŒ).

Π― Π½Π΅ согласСн, Ρƒ Lo-Dash тысячи ΠΈΠΆΠ΄ΠΈΠ²Π΅Π½Ρ†Π΅Π², ΠΈ всС Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π² этом экспСртами.

Π‘ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚ΠΎΠΌΡƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ ΠΈΠΌΠ΅Ρ‚ΡŒ Π΄Π΅Π»ΠΎ с послСдствиями критичСских ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΈ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΈΡ… Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Lo-Dash слСдуСт Π·Π° semver, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ Π½Π΅ приходится ΠΈΠΌΠ΅Ρ‚ΡŒ Π΄Π΅Π»ΠΎ с послСдствиями, ΠΏΠΎΠΊΠ° ΠΎΠ½ΠΈ Π½Π΅ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΡƒΡ‚ ΠΊ обновлСнию основной вСрсии. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Underscore, Lo-Dash Π½Π΅ измСнится ΠΈΠ·-ΠΏΠΎΠ΄ Π½ΠΎΠ³, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ использовали ~ для Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° вСрсий ΠΏΠ°ΠΊΠ΅Ρ‚Π°.

НаконСц, ΠΊΠ°ΠΊ соавтор ΠΈ Π²Π΅Π΄ΡƒΡ‰ΠΈΠΉ участник Exoskeleton, я Π±ΡƒΠ΄Ρƒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ, ΠΊΡ‚ΠΎ скаТСт Π²Π°ΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Ρ‚ΠΎΠΆΠ΅ Π½Π΅ слСдили Π·Π° semver.

Π’ΠΎΠ³Π΄Π° Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ это ΠΈΠ· своСго ΠΌΠ°Ρ€ΠΊΠ΅Ρ‚ΠΈΠ½Π³Π°.

Π― Π½Π΅ Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ какая-Ρ‚ΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Underscore Π½Π΅ ΠΌΠΎΠ³ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ Π½Π° semver.
НС ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ этому - плохая услуга для Π²Π°ΡˆΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ :frowning:

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ вас Π²ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈ Π² npm ΠΈΠ»ΠΈ bower, это Π½Π΅ обсуТдаСтся. Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ сСмвСр. Π’Ρ‹ Π΄Π°Π΅Ρ‚Π΅ нСявноС ΠΎΠ±Π΅Ρ‰Π°Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ semver, Π° Ссли Π²Ρ‹ этого Π½Π΅ сдСлаСтС, это Π²Π·Π»Π°ΠΌΡ‹Π²Π°Π΅Ρ‚ ΠΊΠΎΠ΄ людСй Π±Π΅Π· прСдупрСТдСния, ΠΈ ΠΏΠΎΡ‡Ρ‚ΠΈ всС ΠΎΡΡƒΠΆΠ΄Π°ΡŽΡ‚ это.

ΠœΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ Π²Ρ‹Π±ΠΎΡ€Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π°Ρ€ΡƒΡˆΠ°Π΅Ρ‚ производствСнный ΠΊΠΎΠ΄. ΠΠ΅Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΈΠ³Ρ€Π°Ρ‚ΡŒ Π² Π½Π΅Π±Ρ€Π΅ΠΆΠ½ΡƒΡŽ ΠΈΠ³Ρ€Ρƒ с Ρ‡ΡƒΠΆΠΈΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ ΠΈ дСньгами.

Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ваши Π½ΠΎΠΌΠ΅Ρ€Π° вСрсий становятся большС быстрСС. Ну ΠΈ Ρ‡Ρ‚ΠΎ? Π­Ρ‚ΠΎ число. Π­Ρ‚ΠΎ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π»ΡƒΡ‡ΡˆΠ΅, Ρ‡Π΅ΠΌ Π»ΠΎΠΌΠ°Ρ‚ΡŒ Ρ‡ΡŒΡŽ-Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Ρ‚Π΅Π»Π΅ΠΆΠΊΡƒ.

+1 Π·Π° нСсколько мСсяцСв

Π›ΠΈΡ‡Π½ΠΎ я Π½Π΅ ΡΡ‡ΠΈΡ‚Π°ΡŽ "ΠΊΡ€ΡƒΡ‚Ρ‹ΠΌ" ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ _personal_ Π² ΠΎΡ‚Ρ‡Π΅Ρ‚Π΅ ΠΎΠ± ошибкС. Π›ΠΈΠ±ΠΎ это соотвСтствуСт, Π»ΠΈΠ±ΠΎ Π½Π΅ соотвСтствуСт сСмантичСскому ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ вСрсиями. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ β€” Π±Π°Ρ…, Π±Π°Ρ…, Π±Π°Ρ… β€” ΠΏΠΎΡ‡Π΅ΠΌΡƒ это Π±Ρ‹Π»Π° Π±Ρ‹ Π΅Ρ‰Π΅ Π»ΡƒΡ‡ΡˆΠ°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, Ссли Π±Ρ‹ ΠΎΠ½Π° это сдСлала. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ β€” Π±Π°Ρ…, Π±Π°Ρ… β€” ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°ΡŽΡ‰ΠΈΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒ Π½ΠΎΠΌΠ΅Ρ€ вСрсии способом, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ semver.

ПослС этого Π΄Π΅Π»ΠΎ Π·Π° ΠΌΠ΅ΠΉΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°ΠΌΠΈ. Если Π²Ρ‹ Π½Π΅ согласны с ΠΈΡ… ΠΏΠΎΠ·ΠΈΡ†ΠΈΠ΅ΠΉ, Π΅ΡΡ‚ΡŒ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ для использования. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°Π·Π²Π΅Ρ‚Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ (ΠΊΠ°ΠΊ это сдСлали Π΄Ρ€ΡƒΠ³ΠΈΠ΅). Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ сообщСниС Π² Π±Π»ΠΎΠ³Π΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ Π»ΠΈΡ‡Π½Ρ‹ΠΌ, насколько Π²Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ³ΠΎΠ΄Π½ΠΎ.

Но Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΠΈΠΌΠ΅Ρ‚ΡŒ граТданскоС нСсогласиС.

Π― Π½Π΅ понимаю @raganwald. ΠšΡ‚ΠΎ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ Π½Π° личности?

Π― Π½ΠΈ Π½Π° ΠΊΠΎΠ³ΠΎ Π½Π΅ нападаю. Π― ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽ, Ρ‡Ρ‚ΠΎ semver являСтся Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚Π° API, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚Π΅, ΠΊΠΎΠ³Π΄Π° ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ΅Ρ‚Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚ Π² npm ΠΈΠ»ΠΈ Bower.

Если Π²Ρ‹ Π½Π°Ρ€ΡƒΡˆΠΈΡ‚Π΅ этот ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚, Π²Ρ‹ Π½Π°Ρ€ΡƒΡˆΠΈΡ‚Π΅ ΠΊΠΎΠ΄ Π΄Ρ€ΡƒΠ³ΠΈΡ… людСй. Π­Ρ‚ΠΎ Π½Π΅ ΠΊΡ€ΡƒΡ‚ΠΎ.

npm Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΌΡ‹ всС согласны с нСсколькими ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌΠΈ, благодаря ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ наши ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ. Если Π²Ρ‹ Π½Π°Ρ€ΡƒΡˆΠΈΡ‚Π΅ эти ΠΏΡ€Π°Π²ΠΈΠ»Π°, Π²Ρ‹ Π½Π°Ρ€ΡƒΡˆΠΈΡ‚Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ‹Ρ‚Π°ΡŽΡ‚ΡΡ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с вашими. Π’Ρ‹ Π»ΠΎΠΌΠ°Π΅Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ прилоТСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ Π½Π° ваш ΠΊΠΎΠ΄.

Вопрос Π½Π΅ Π² Ρ‚ΠΎΠΌ, Β«Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π»ΠΈ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ semver?Β» Вопрос Π² Ρ‚ΠΎΠΌ, Ρ…ΠΎΡ‚ΠΈΠΌ Π»ΠΈ ΠΌΡ‹ Π±Ρ‹Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌΠΈ Π³Ρ€Π°ΠΆΠ΄Π°Π½Π°ΠΌΠΈ Π² этой экосистСмС?

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠΌ являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π² Ρ‚Π°ΠΊΠΎΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅, ΠΊΠ°ΠΊ Underscore, _ΠΊΠ°ΠΆΠ΄ΠΎΠ΅_ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΡƒ-Ρ‚ΠΎ ΠΌΠ΅ΡˆΠ°Π΅Ρ‚. Если ΠΌΡ‹ ΡƒΠ΄Π°Π»ΠΈΠΌ Π½ΡƒΠ»Π΅Π²ΡƒΡŽ Π·Π°Ρ‰ΠΈΡ‚Ρƒ ΠΈΠ· _.extend (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ случайный ΠΏΡ€ΠΈΠΌΠ΅Ρ€), ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ Ρƒ ΠΊΠΎΠ³ΠΎ-Ρ‚ΠΎ ΠΈ создаСт ΠΎΡˆΠΈΠ±ΠΊΡƒ Ρƒ ΠΊΠΎΠ³ΠΎ-Ρ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ, Π±ΡƒΠ΄Π΅Ρ‚ Π»ΠΈ это ΠΏΠ°Ρ‚Ρ‡Π΅ΠΌ? Π­Ρ‚ΠΎ минорная вСрсия? Π“Π»Π°Π²Π½Ρ‹ΠΉ?

Для Underscore ΠΈ Backbone я Π½Π΅ Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ Π½Π΅Ρ€Π°Π·ΡƒΠΌΠ½ΠΎ Π·Π°ΠΊΡ€Π΅ΠΏΠ»ΡΡ‚ΡŒ ваши зависимости. Π‘Π»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ semver Π½Π΅ являСтся ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ для ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π² ΡƒΠΏΠ°ΠΊΠΎΠ²Ρ‰ΠΈΠΊΠ΅.

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠΌ являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π² Ρ‚Π°ΠΊΠΎΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅, ΠΊΠ°ΠΊ Underscore, ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ³ΠΎ-Ρ‚ΠΎ Π»ΠΎΠΌΠ°Π΅Ρ‚.

Π’Ρ‹ Π±Ρ€ΠΎΡΠ°Π΅Ρ‚Π΅ΡΡŒ Π² крайности, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π°Π²Π΄Π°Ρ‚ΡŒ свою ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ. Π Π΅Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠ²Π°, Ρ‡Ρ‚ΠΎ это баланс. Π•ΡΡ‚ΡŒ популярный API, ΠΏΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π½Ρ‹Π΅ случаи ΠΈ Π·Π°Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅. Π’ΠΏΠΎΠ»Π½Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ°ΠΊΠΎΠ΅-Ρ‚ΠΎ врСмя ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π±Π΅Π· обновлСния основной вСрсии, просто исправляя ошибки ΠΈ добавляя Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.

Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°ΡŽΡ‰ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΈ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, придСтся ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π΄ΠΎΡ€ΠΎΠΆΠ½ΡƒΡŽ ΠΊΠ°Ρ€Ρ‚Ρƒ для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ нСльзя Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π±Π΅Π· Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΡ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ совмСстимости, ΠΈ это Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ.

Компания Underscore ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ»Π° количСство выпусков исправлСний ΠΈ внСсла ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹Π΅ критичСскиС измСнСния. Π­Ρ‚ΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°ΡŽΡ‰ΠΈΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

Для Underscore ΠΈ Backbone я Π½Π΅ Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ Π½Π΅Ρ€Π°Π·ΡƒΠΌΠ½ΠΎ Π·Π°ΠΊΡ€Π΅ΠΏΠ»ΡΡ‚ΡŒ ваши зависимости.

Π’ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ сообщСниС/ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅.

@akre54 ИзмСнСниС _Π½Π΅Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ…_ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈΠ»ΠΈ _Π½Π΅Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ошибок_ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΏΠΎΠ»ΠΎΠΌΠΊΠ΅ ΠΊΠΎΠ΄Π°, основанного Π½Π° Π½ΠΈΡ…, Π½ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ Π½Π° Π½Π΅Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ошибки Π½Π° свой страх ΠΈ риск.

Π˜Π³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ semver ΠΏΠΎΠ΄Π²Π΅Ρ€Π³Π°Π΅Ρ‚ опасности _ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ_ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ_ вашСго API. Π›ΡŽΠ΄ΠΈ постоянно ΠΈΡΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ ошибки Π² Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ Π·Π° semver, Π½ΠΎ _ΠΎΡ‡Π΅Π½ΡŒ Ρ€Π΅Π΄ΠΊΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ большиС Π½ΠΎΠΌΠ΅Ρ€Π° вСрсий Π² экосистСмС npm_.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ это?

ΠŸΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ _всС Ρ…ΠΎΡ€ΠΎΡˆΠΈΠ΅ API-интСрфСйсы ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ открытости/закрытости_ (ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ для Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ, Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ для критичСских ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ) Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ Π±Π»ΠΈΠ·ΠΊΠΎ, насколько это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, поэтому ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠ΄Ρ‚ΠΈ Π² Π½ΠΎΠ³Ρƒ с API, Π° измСнСния Π½Π΅ Π½Π°Ρ€ΡƒΡˆΠ°ΡŽΡ‚ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄.

Π§Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊ Π°Π½Π΅ΠΊΠ΄ΠΎΡ‚Π°ΠΌ, ΠΌΠΎΠΉ ΠΊΠΎΠ΄ Ρ‚Π°ΠΊΠΆΠ΅ Π±Ρ‹Π» сломан ΡƒΠ΄Π°Ρ€Π°ΠΌΠΈ Underscore Π² ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΌ. ΠœΡ‹ ΠΏΡ€ΠΈΠ±Π΅Π³Π»ΠΈ ΠΊ фиксации node_modules , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ это, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ --save --save-exact Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. Если Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ уровня опираСтся Π½Π° Underscore ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π²Π΅Ρ€ΡΠΈΡŽ ^x.y.z , вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

Π§Ρ‚ΠΎ касаСтся Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ² вСрсий, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… прогрСсс, мСня это Π½Π΅ Π²ΠΎΠ»Π½ΡƒΠ΅Ρ‚. ИспользованиС вСрсии 2.1.3 ΠΈΠ»ΠΈ 143.3.2 для мСня Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ значСния. ΠŸΡ€ΠΎΠ³Ρ€Π΅ΡΡ ΠΈ Π·Ρ€Π΅Π»ΠΎΡΡ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π½Π΅ ΠΈΠ·ΠΌΠ΅Ρ€ΡΡŽΡ‚ΡΡ Π½ΠΎΠΌΠ΅Ρ€Π°ΠΌΠΈ вСрсий. Π― просто Π½Π΅ Ρ…ΠΎΡ‡Ρƒ Π·Π²ΠΎΠ½ΠΈΡ‚ΡŒ Π² Π²ΠΎΡΠΊΡ€Π΅ΡΠ΅Π½ΡŒΠ΅ Π΄Π½Π΅ΠΌ ​​из-Π·Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΊΡ‚ΠΎ-Ρ‚ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΠ» Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡƒΡŽ Π½Π° underscore@^x.y.z .

:thumbup: Ага. @braddunbar Π΄Π΅Π»Π°Π΅Ρ‚ Π²Ρ‹Π²ΠΎΠ΄, Π΄ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ я Π΅Ρ‰Π΅ Π½Π΅ дошСл - ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ semver Π΄Π΅Π»Π°Π΅Ρ‚ ваш ΠΏΠ°ΠΊΠ΅Ρ‚ опасным, опасным ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠΌ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ это критичСскоС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ _Π³Π΄Π΅ ΡƒΠ³ΠΎΠ΄Π½ΠΎ_.

Π­Ρ‚ΠΎ _ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎ ΠΎΠ±Ρ€Π΅ΠΌΠ΅Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅_ Π·Π°ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π²Ρ‹ΠΈΡΠΊΠΈΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ Π² стороннСм ΠΊΠΎΠ΄Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ зависит ΠΎΡ‚ вашСго сломанного ΠΏΠ°ΠΊΠ΅Ρ‚Π°.

ИМО, настоящий прогрСсс ΠΈ Π·Ρ€Π΅Π»ΠΎΡΡ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ измСряСтся Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ, ΠΈ semver ΠΈΠΌΠ΅Π΅Ρ‚ большоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для достиТСния этой Ρ†Π΅Π»ΠΈ.

Π’ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ сообщСниС.

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎ. Π― Ρ€Π°Π΄ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½, Ссли ΠΌΡ‹ Ρ‚Π°ΠΊ Ρ€Π΅ΡˆΠΈΠΌ.

Π― Π½Π΅ ΠΏΡ€ΠΎΡ‚ΠΈΠ² Π»ΡƒΡ‡ΡˆΠ΅ΠΉ систСмы Ρ€Π΅Π»ΠΈΠ·ΠΎΠ² (господи Π·Π½Π°Π΅Ρ‚, ΠΊΠ°ΠΊ ΠΌΡƒΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ мСсяцами ΠΆΠ΄Π°Ρ‚ΡŒ, ΠΏΠΎΠΊΠ° вашС малСнькоС исправлСниС Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΠΎ), Π½ΠΎ я Π½Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½, Ρ‡Ρ‚ΠΎ Β«ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ Π·Π° сСмвСром» β€” это СдинствСнный ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚.

ΠŸΡ€ΡΠΌΠΎ сСйчас, я Π½Π΅ Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ссли это СдинствСнный ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚. Π­Ρ‚ΠΎ _это_ принятый сообщСством ΠΎΡ‚Π²Π΅Ρ‚.

Π― Π½Π΅ Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ ΠΊΡ‚ΠΎ-Ρ‚ΠΎ сказал, Ρ‡Ρ‚ΠΎ «слСдуй Π·Π° сСмвСром» β€” СдинствСнный ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚ для Π»ΡƒΡ‡ΡˆΠ΅ΠΉ систСмы выпуска. ΠœΡ‹ сказали, Ρ‡Ρ‚ΠΎ это ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚ API npm, ΠΈ Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ этого ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚Π° наносит ΡƒΡ‰Π΅Ρ€Π±.

@jdalton ΠΈ @dilvie Как Π±Ρ‹ Π²Ρ‹ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ»ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Ρ€Π΅Π»ΠΈΠ·Ρ‹? Как насчСт принятия Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ? Β«Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ сСмвСр» Π½Π° самом Π΄Π΅Π»Π΅ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π°ΠΌ Π½Π΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚.

Π”ΠΎΠ»ΠΆΠ½Ρ‹ Π»ΠΈ ΠΌΡ‹ ΠΎΡ‚Π»ΠΎΠΆΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠ°ΠΊ _.matches , Π½Π° нСсколько мСсяцСв, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π΄ΠΎΠΆΠ΄Π°Ρ‚ΡŒΡΡ исправлСния ошибок для Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΊΠΎΠ΄Π°, ΠΈΠ»ΠΈ ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Ρ‹ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ сСйчас ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ΡŒ людям Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ?

Π― Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ слово semver здСсь Π½Π΅ совсСм ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΠΎ.

БСсстыдная саморСклама: ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ https://github.com/bahmutov/next-update , Ρ‡Ρ‚ΠΎΠ±Ρ‹ сначала ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ зависимости, Π½Π΅ Π½Π°Ρ€ΡƒΡˆΠ°Ρ ваш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. Π― постоянно Π½Π°Ρ…ΠΎΠ΄ΠΈΠ» критичСскиС измСнСния Π² Ρ€Π°Π·Π½Ρ‹Ρ… модулях нСсмотря Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹Π΅ *.*.x , Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ я Π½Π΅ Π΄ΠΎΠ²Π΅Ρ€ΡΡŽ Π½ΠΈΠΊΠ°ΠΊΠΈΠΌ ΡΠ°ΠΌΠΎΠΏΡ€ΠΎΠ²ΠΎΠ·Π³Π»Π°ΡˆΠ΅Π½Π½Ρ‹ΠΌ вСрсиям.

Π”ΡƒΠΌΠ°Π΅Ρ‚Π΅, этот ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ β€” снСТинка? Lo-Dash β€” это, ΠΏΠΎ сути, Underscore++, ΠΈ слСдованиС semver Π½Π΅ прСдставляСт ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ для @jdalton.

ΠŸΡ€ΠΈΠ½ΡΡ‚ΠΈΠ΅ Π½ΠΎΠ²Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ:

ΠΠ°Ρ€ΡƒΡˆΠ°Π΅Ρ‚ Π»ΠΈ это ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚ API?

Π”Π°? - ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ основной Π½ΠΎΠΌΠ΅Ρ€ вСрсии.
НСт? - ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ Π½ΠΎΠΌΠ΅Ρ€ ΠΌΠΈΠ½ΠΎΡ€Π½ΠΎΠΉ вСрсии.

ΠŸΡ€ΠΈΠ½ΡΡ‚ΠΈΠ΅ исправлСний ошибок / Π½Π΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… исправлСний:

ΠΠ°Ρ€ΡƒΡˆΠ°Π΅Ρ‚ Π»ΠΈ это ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚ API?

Π”Π°? - ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ основной Π½ΠΎΠΌΠ΅Ρ€ вСрсии.
НСт? - Π½ΠΎΠΌΠ΅Ρ€ вСрсии Π±Π°ΠΌΠΏ-ΠΏΠ°Ρ‚Ρ‡Π°.

Как Π²Ρ‹ Ρ€Π΅ΡˆΠΈΡ‚Π΅ Π·Π°ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ выпуски, ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ зависит ΠΎΡ‚ вас. ΠŸΡ€ΠΎΡΡ‚ΠΎ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ вСрсия частично совмСстима, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π½Π°Ρ€ΡƒΡˆΠ°Ρ‚ΡŒ Ρ‡ΡƒΠΆΠΎΠΉ ΠΊΠΎΠ΄.

БогласСн с @dilvie , Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, https://github.com/jashkenas/underscore/compare/1.3.3...1.4.0 , вСроятно, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Π» ΡΡ‚Π°Ρ‚ΡŒ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹ΠΌ ΡƒΠ΄Π°Ρ€ΠΎΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΡ‹ ΠΎΡ‚ΠΊΠ°Π·Π°Π»ΠΈΡΡŒ ΠΎΡ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Ρ€Π°Π·Ρ€Π΅ΠΆΠ΅Π½Π½Ρ‹Ρ… массивов. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ вСрсия Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎΠΉ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Ρ‚ΠΎΠ½Π½Ρƒ Π½ΠΎΠ²ΠΎΠ³ΠΎ сахара Ρ‡Π΅Ρ€Π΅Π· lookupIterator ΠΈ откаТСмся ΠΎΡ‚ Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ².

Если докумСнтация Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒΡΡ, это явно ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅.

Π’ этом Π³ΠΎΠ΄Ρƒ я ΠΊΡ€Π°Ρ‚ΠΊΠΎ обсудил это Π½Π° JSconf. Π£ мСня Π½Π΅Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π²Π΄Π°Π²Π°Ρ‚ΡŒΡΡ Π² подробности здСсь, Π½ΠΎ:

ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‚ΠΈΡ‚Π΅ ΡΠΌΠ΅ΡˆΠΈΠ²Π°Ρ‚ΡŒ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π½Π° Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° Β«ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ вСрсиями» с Β«ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒΡŽ с APIΒ» для ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° (ΠΈΠ»ΠΈ, Π½Π° самом Π΄Π΅Π»Π΅, для систСмы сборки). просто ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡΡŒ.

ВСрсия: Β«Π­Ρ‚Π° Π²Π΅Ρ‰ΡŒ, которая ΠΌΠ½Π΅ нравится, ΠΈΠΌΠ΅Π΅Ρ‚ Π½ΠΎΠ²Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ»ΠΈ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π΅Ρ‰Π΅, Ρ‡Ρ‚ΠΎ мСня Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π·Π°ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΠΎΠ²Π°Ρ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° Ρƒ мСня Π±ΡƒΠ΄Π΅Ρ‚ врСмя». Π•ΡΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ Π°ΠΉΡ„ΠΎΠ½. Π•ΡΡ‚ΡŒ новая OS X. Π•ΡΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ Ember. Π•ΡΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ пСрСсмотрСнный ΠΎΡ‚Ρ‡Π΅Ρ‚ ΠΎ схСмС алгоритмичСского языка.

Π‘ΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ API: Β«Π­Ρ‚Π° Π²Π΅Ρ‰ΡŒ Π±Ρ‹Π»Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, ΠΈ это ΠΌΠΎΠΆΠ΅Ρ‚/сломаСт ΠΏΡƒΡ‚ΡŒΡƒΠΏΡ€Π°ΠΆΠ½ΡΠ΅Ρ‚ эту ΡˆΡ‚ΡƒΠΊΡƒΒ». Π’ΠΈΠ»ΠΊΠ° питания iPhone Π±Ρ‹Π»Π° Π·Π°ΠΌΠ΅Π½Π΅Π½Π°. Π’ΠΈΠ»ΠΊΠΈ рСсурсов OS X устарСли. Ember отказался ΠΎΡ‚ стиля ΠΈΠΌΠ΅Π½ дСйствий. Π‘Ρ…Π΅ΠΌΠ° Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Π° ΠΊ рСгистру.

ПослСднСС происходит _Π²ΠΎ врСмя_ ΠΈΠ»ΠΈ _наряду_ с ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ; Π½ΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π½ΠΈΠΊΠΎΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ зависит ΠΎΡ‚ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ связано с Π½ΠΈΠΌ. Они Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΈ (Ссли ΠΌΡ‹ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ собираСмся _ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ_ систСму управлСния вСрсиями, господи) ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ. (концСпция «сСмантичСского управлСния вСрсиями», популярная Π² сообщСствС JS, _особСнно_ тупая ΠΈ уТасная; Π½ΠΎ ΠΎΠΏΡΡ‚ΡŒ ΠΆΠ΅, я Π½Π΅ Ρ…ΠΎΡ‡Ρƒ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Π²Π΄Π°Π²Π°Ρ‚ΡŒΡΡ Π² Ρ‡ΡŒΡŽ-Ρ‚ΠΎ Π²Π΅Ρ‚ΠΊΡƒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² ΠΊ выпуску.)

Π’ΠΊΡ€Π°Ρ‚Ρ†Π΅: ΠΎΠ½ΠΈ Π½Π΅ портят Π²Π°ΡˆΡƒ экосистСму, выбирая собствСнный ΠΏΡƒΡ‚ΡŒ. (ОсобСнно, ΠΊΠΎΠ³Π΄Π° этот ΠΏΡƒΡ‚ΡŒ уТасно ΠΎΡˆΠΈΠ±ΠΎΡ‡Π΅Π½.) Π― Π±Ρ‹ Ρ…ΠΎΡ‚Π΅Π», Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‚Π°ΠΊΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Π±Ρ‹Π»ΠΎ большС. Иди ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉ Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠ΅, Ссли Ρ‚Ρ‹ Ρ‚Π°ΠΊ Π½Π΅ Π² Ρ„ΠΎΡ€ΠΌΠ΅ ΠΈΠ·-Π·Π° этого.

@elliottcable - согласился с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π»ΠΈΡ†ΠΎ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° отличаСтся ΠΎΡ‚ Π»ΠΈΡ†Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ... Пока чСловСчСскоС Π»ΠΈΡ†ΠΎ Π½Π΅ ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° Π»ΠΈΡ†ΠΎ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ объСдинСниС ΠΌΠ΅Π½Π΅Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ.

ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, Π½Π°Π·ΠΎΠ²Π΅ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π΅Π»ΠΈΠ·, посвящСнный чСловСчСскому двиТСнию, ΠΊΠ°ΠΊ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ «снСТинка» вмСсто nnn.

А Π²ΠΎΡ‚ с послСдним ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠΌ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π½Π΅ согласСн. Когда Π²Ρ‹ ΠΏΡ€ΠΈΡ‚Π²ΠΎΡ€ΡΠ΅Ρ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ слСдуСтС ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚Ρƒ API, Π° Π·Π°Ρ‚Π΅ΠΌ Π½Π°Ρ€ΡƒΡˆΠ°Π΅Ρ‚Π΅ Π΅Π³ΠΎ, всС ломаСтся. Π­Ρ‚ΠΎ стоит Π΄Ρ€ΡƒΠ³ΠΈΠΌ людям Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… Π΄Π΅Π½Π΅Π³. Π‘ Ρ‚Π°ΠΊΠΈΠΌ популярным ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠΈΠ²Π°Π½ΠΈΠ΅, ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ нанСсСн большой Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ ΡƒΡ‰Π΅Ρ€Π±.

ΠΠ°Ρ€ΡƒΡˆΠ°Π΅Ρ‚ Π»ΠΈ это ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚ API?

ВспомнитС самыС ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Π² этой Π²Π΅Ρ‚ΠΊΠ΅. «ВсС Π² Underscore β€” это, ΠΏΠΎ сути, ΠΏΠ»ΠΎΡ‰Π°Π΄ΡŒ повСрхности», ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, всС, Π·Π°Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΈ Π½Π΅Ρ‚, являСтся Ρ‡Π°ΡΡ‚ΡŒΡŽ Π΅Π³ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚Π° API. Π›ΡŽΠ±ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ β€” это ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ для всСх.

Lo-Dash, Π±ΡƒΠ΄ΡƒΡ‡ΠΈ Β«Underscore++Β», Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π΅Π»ΠΎ с ΠΏΠΎΡ‡Ρ‚ΠΈ Ρ‚Π°ΠΊΠΈΠΌ количСством ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² функциях, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ бСзопасно ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ Π·Π° Underscore Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ основных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Π£Π»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ Lo-Dash Π² основном Π·Π°ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡ‚ΠΎΠΌ ΠΈΠ»ΠΈ Π² Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², Π° Π½Π΅ Π² ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ пСрСосмыслСнии Π΅Π³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.

@akre54

Как Π±Ρ‹ Π²Ρ‹ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ»ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Ρ€Π΅Π»ΠΈΠ·Ρ‹? Как насчСт принятия Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ? Β«Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ сСмвСр» Π½Π° самом Π΄Π΅Π»Π΅ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π°ΠΌ Π½Π΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ API ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ API. Если Π²Ρ‹ добавляСтС Π½ΠΎΠ²Ρ‹ΠΉ API ΠΈΠ»ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π½Π°Ρ€ΡƒΡˆΠ°ΡŽΡ‚ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ), это ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ второстСпСнной вСрсии.

Π”ΠΎΠ»ΠΆΠ½Ρ‹ Π»ΠΈ ΠΌΡ‹ ΠΎΡ‚Π»ΠΎΠΆΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠ°ΠΊ _.matches , Π½Π° нСсколько мСсяцСв, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π΄ΠΎΠΆΠ΄Π°Ρ‚ΡŒΡΡ исправлСния ошибок для Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΊΠΎΠ΄Π°, ΠΈΠ»ΠΈ ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Ρ‹ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ сСйчас ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ΡŒ людям Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ?

Π― Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ _.matches довольно прямолинССн. ВсСгда Π±ΡƒΠ΄ΡƒΡ‚ исправлСния ошибок.

Π― Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ слово semver здСсь Π½Π΅ совсСм ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΠΎ.

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, это Ρ‚Π°ΠΊ. Π’Ρ‹ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚Π΅ Π²Π»Π΅Π·Π°Ρ‚ΡŒ Π² Π·Π°Π±ΠΎΡ‚Ρ‹ ΠΎ Ρ†ΠΈΠΊΠ»Π΅ выпуска, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ связан с semver, Π½ΠΎ я ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽ Π·Π° Π²Π°ΠΌΠΈ.

@dilvie : ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡΡŒ Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒΡΡ подальшС ΠΎΡ‚ ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠΉ части Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°, Π½ΠΎ добавлю это: ΠΎΡ‡Π΅Π½ΡŒ, ΠΎΡ‡Π΅Π½ΡŒ нравится вашС ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ соглашСния «имя вСрсии». Π·Π½Π°ΠΊ Ρ€Π°Π²Π½ΠΎ

Π§Ρ‚ΠΎ касаСтся части, ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π½Π° Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°, я большой ΠΏΠΎΠΊΠ»ΠΎΠ½Π½ΠΈΠΊ вСрсионирования Π² стилС less :

> less --version
less 418
Copyright (C) 1984-2007 Mark Nudelman

less comes with NO WARRANTY, to the extent permitted by law.
For information about the terms of redistribution,
see the file named README in the less distribution.
Homepage: http://www.greenwoodsoftware.com/less

… соСдинитС это с красивым Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Π»ΠΎ особСнно ясно, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎΠ± «интСрСсной» вСрсии, Π° Π½Π΅ ΠΎ совмСстимости API, ΠΈ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Π²Ρ‹ΠΈΠ³Ρ€Ρ‹ΡˆΠ½ΡƒΡŽ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ.

+1 Π·Π° ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠΈΠ²Π°Π½ΠΈΠ΅ 42: «Глупая Π¨Π΅Π»Ρ‚ΠΈΒ».

(Π§Ρ‚ΠΎ касаСтся части, связанной с систСмой сборки, Ρƒ мСня Π΅ΡΡ‚ΡŒ нСсколько ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΡ€Π΅Ρ‡ΠΈΠ²Ρ‹Ρ… взглядов Π½Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ, Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΡƒΡŽ API-ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ. Π”Π°Π²Π°ΠΉΡ‚Π΅, поТалуйста, возьмСм это Π΄Π΅Ρ€ΡŒΠΌΠΎ ΠΈΠ· Ρ€ΡƒΠΊ ΠΎΡˆΠΈΠ±Π°ΡŽΡ‰ΠΈΡ…ΡΡ ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°ΡŽΡ‰ΠΈΡ… ΠΈ Π°Ρ‚Π°ΠΊΡƒΠ΅ΠΌ Π΅Π³ΠΎ статичСским Π°Π½Π°Π»ΠΈΠ·ΠΎΠΌ ΠΈΠ»ΠΈ динамичСским сканированиСм.)

@akre54

Lo-Dash, Π±ΡƒΠ΄ΡƒΡ‡ΠΈ Β«Underscore++Β», Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π΅Π»ΠΎ с ΠΏΠΎΡ‡Ρ‚ΠΈ Ρ‚Π°ΠΊΠΈΠΌ количСством ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² функциях, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ бСзопасно ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ Π·Π° Underscore Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ основных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.

Π§Ρ‚ΠΎ это хотя Π±Ρ‹ Π·Π½Π°Ρ‡ΠΈΡ‚? Lo-Dash ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π΅Π»ΠΎ с _большими измСнСниями_ ΠΈ слСдуСт собствСнной вСрсии, ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠΉ ΠΎΡ‚ Underscore. Lo-Dash измСнился Ρ‚Π°ΠΊ сильно, Ρ‡Ρ‚ΠΎ Π΅ΠΌΡƒ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ΡŒ сборку, ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΡƒΡŽ с Underscore, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Π·Π°ΠΌΠ΅Π½Ρ‹. Π£ нас Ρ€Π°Π·Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ , ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒΡŽ API.

Π£Π»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ Lo-Dash Π² основном Π·Π°ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡ‚ΠΎΠΌ ΠΈΠ»ΠΈ Π² Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², Π° Π½Π΅ Π² ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ пСрСосмыслСнии Π΅Π³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.

Π­Ρ‚ΠΎ Ρ‚ΠΎΠΆΠ΅ Π½Π΅ Ρ‚Π°ΠΊ. Lo-Dash двиТСтся быстрСС ΠΈ Ρ‡Π°Ρ‰Π΅ сталкиваСтся с ΡƒΠ΄Π°Ρ€Π°ΠΌΠΈ сзади. Π’ΠΎΡ‚ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΎΡ‚ ~v2.x ΠΊ ~v3.x. Lo-Dash ΠΏΠΎΡ…ΠΎΠΆ Π½Π° Underscore. Если Lo-Dash ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ Π·Π° semver, Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈ Underscore. Π”Π΅Π»Π°ΡŽ ΡƒΠΆΠ΅ ~2 Π³ΠΎΠ΄Π°. Π’Π°ΡˆΠΈ Π΄ΠΎΠ²ΠΎΠ΄Ρ‹ просто тСрпят ΠΊΡ€Π°Ρ… ΠΏΠ΅Ρ€Π΅Π΄ Π»ΠΈΡ†ΠΎΠΌ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

Π― ΡƒΠΆΠ΅ Ρ…ΠΎΠ΄ΠΈΠ» ΠΏΠΎ этой Π΄ΠΎΡ€ΠΎΠ³Π΅ Ρ€Π°Π½ΡŒΡˆΠ΅, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΌΠΎΠ³Ρƒ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π²Π°ΠΌ Π΄ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Ρ‚ΡƒΠ΄Π° Ρ‚ΠΎΠΆΠ΅.
Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ выпуска Underscore получится отличная вСрсия 2.0.

МнС Π»ΡŽΠ±ΠΎΠΏΡ‹Ρ‚Π½ΠΎ, ΠΊΠ°ΠΊ всС Π΄ΡƒΠΌΠ°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ слСдуСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ «критичСскоС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅Β». _КаТдоС_ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² Underscore являСтся критичСским ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ для ΠΊΠΎΠ³ΠΎ-Ρ‚ΠΎ Π΅Ρ‰Π΅.

Π’ΠΎΠ·ΡŒΠΌΠ΅ΠΌ, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, всС послСдниС измСнСния Π² _.each . Π”ΠΎΠ»ΠΆΠ½Ρ‹ Π»ΠΈ ΠΌΡ‹ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΡ‚ΡŒΡΡ с ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ значСния _.each , Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ исходный список ? Π­Ρ‚ΠΎ исправлСниС? Новая функция? ΠžΠ±Ρ€Π°Ρ‚Π½ΠΎ нСсовмСстимоС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅? РаньшС ΠΎΠ½ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π» undefined , Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ вряд Π»ΠΈ ΠΎΠ½ сломал Ρ‡Π΅ΠΉ-Ρ‚ΠΎ ΠΊΠΎΠ΄.

Π”ΠΎΠ»ΠΆΠ½Ρ‹ Π»ΠΈ ΠΌΡ‹ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΡ‚ΡŒΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠΌ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΌΡƒ ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΡƒ each Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΌ ΠΈΠ·Π²Π½Π΅ ? Могло Π»ΠΈ это Π²Π·Π»ΠΎΠΌΠ°Ρ‚ΡŒ Ρ‡Π΅ΠΉ-Ρ‚ΠΎ ΠΊΠΎΠ΄? ΠŸΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ API Ρ‚Π°ΠΌ Π½Π΅ измСнился.

ИзмСнСниС _.each , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Ρ€Π°Π·Ρ€Π΅ΠΆΠ΅Π½Π½Ρ‹Ρ… массивов , ΠΈ использованиС Ρ†ΠΈΠΊΠ»ΠΎΠ² for вмСсто Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… forEach , ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π½ΠΎ ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ€Π°Π·Ρ€Π΅ΠΆΠ΅Π½Π½Ρ‹Π΅ массивы ΠΌΠ΅Ρ€Ρ‚Π²Ρ‹ , ΠΊΠΎΠ³ΠΎ это Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π²ΠΎΠ»Π½ΡƒΠ΅Ρ‚? Π­Ρ‚ΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΎΡ‚ΠΎΠ»ΠΊΠ½ΡƒΡ‚ΡŒ ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ? Π­Ρ‚ΠΎ исправлСниС?

Π― Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π·Π°ΠΏΠΎΠ·Π΄Π°Π»ΠΈ с ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ основной вСрсии (ΠΌΠ½ΠΎΠ³ΠΎΠ΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ Π·Π° 219 ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ). Выпуск вСрсии 2.0 ΠΈ ΡƒΠΊΡ€Π΅ΠΏΠ»Π΅Π½ΠΈΠ΅ нашСй ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ вСрсий ΠΈΠΌΠ΅Π»ΠΈ Π±Ρ‹ здСсь большоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

@akre54

КаТдоС Π½ΠΎΠ²ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² Underscore являСтся критичСским ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ для ΠΊΠΎΠ³ΠΎ-Ρ‚ΠΎ Π΅Ρ‰Π΅.

НС ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ.

Π’ΠΎΠ·ΡŒΠΌΠ΅ΠΌ, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, всС послСдниС измСнСния Π² _.each. Π”ΠΎΠ»ΠΆΠ½Ρ‹ Π»ΠΈ ΠΌΡ‹ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΡ‚ΡŒΡΡ с ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ значСния _.each, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ исходный список? Π­Ρ‚ΠΎ исправлСниС?

Π­Ρ‚ΠΎ Π½Π΅ исправлСниС ошибки, это ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅. ЯвляСтся Π»ΠΈ это Π½Π΅Ρ€Π°Π·Ρ€ΡƒΡˆΠ°ΡŽΡ‰ΠΈΠΌ? -- ВСроятно, это бСзопасноС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ маловСроятно, Ρ‡Ρ‚ΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ _.each полагалось, Π° Π½Π΅ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ сообщили ΠΊΠ°ΠΊ прСпятствиС ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ Π½Π° Lo-Dash. Если Π²Ρ‹ ΡΠΎΠΌΠ½Π΅Π²Π°Π΅Ρ‚Π΅ΡΡŒ, Π²ΡΡ‚Π°Π½ΡŒΡ‚Π΅ Π½Π° сторону Π²Π·Π»ΠΎΠΌΠ° ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Π²ΠΎΠ΄Ρƒ с выпуском RC. Если Π±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π»ΠΎΡΡŒ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Ρ€Π°Π½Π½ΠΈΠΉ Π²Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· _.each , я Π±Ρ‹ сказал, Ρ‡Ρ‚ΠΎ это ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎ критичСскоС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ с этим ΠΏΡ€ΠΈ использовании CoffeeScript.

Π”ΠΎΠ»ΠΆΠ½Ρ‹ Π»ΠΈ ΠΌΡ‹ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΡ‚ΡŒΡΡ с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΌΡƒ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΡƒ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΌ ΠΈΠ·Π²Π½Π΅? Могло Π»ΠΈ это Π²Π·Π»ΠΎΠΌΠ°Ρ‚ΡŒ Ρ‡Π΅ΠΉ-Ρ‚ΠΎ ΠΊΠΎΠ΄? ΠŸΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ API Ρ‚Π°ΠΌ Π½Π΅ измСнился.

Π― Π±Ρ‹ сказал, Ρ‡Ρ‚ΠΎ это относится ΠΊ Π½Π΅Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ дСталям Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. Π’ Ρ‚ΠΎ врСмя ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½Π΅ позволяло Π½ΠΈΡ‡Π΅Π³ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Underscore всС Π΅Ρ‰Π΅ развСтвлялся Π½Π° Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹. Π­Ρ‚ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΠΏΠ°Π΄Π°Π΅Ρ‚ ΠΏΠΎΠ΄ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Π³Ρ€ΡƒΠΏΠΏΡƒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² вСрсии 1.6.0, поэтому ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ Π² вСрсии 2.0.

ИзмСнСниС _.each , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Ρ€Π°Π·Ρ€Π΅ΠΆΠ΅Π½Π½Ρ‹Ρ… массивов, ΠΈ использованиС Ρ†ΠΈΠΊΠ»ΠΎΠ² for вмСсто Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… forEach , ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π½ΠΎ Ρ€Π°Π· Ρ€Π°Π·Ρ€Π΅ΠΆΠ΅Π½Π½Ρ‹Π΅ массивы ΠΌΠ΅Ρ€Ρ‚Π²Ρ‹, ΠΊΠΎΠ³ΠΎ это Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π²ΠΎΠ»Π½ΡƒΠ΅Ρ‚? Π­Ρ‚ΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΎΡ‚ΠΎΠ»ΠΊΠ½ΡƒΡ‚ΡŒ ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ? Π­Ρ‚ΠΎ исправлСниС?

Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ исправлСниС ошибки, Π½ΠΎ это ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎ критичСскоС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅. Π­Ρ‚ΠΎ ΠΎΠ΄Π½Π° ΠΈΠ· Π²Π΅Ρ‰Π΅ΠΉ, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ Π½Π° Lo-Dash. Из-Π·Π° Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΈΠΌ Ρ€Π°Π½ΡŒΡˆΠ΅ Π±Ρ‹Π» Underscore, использованиС Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ Π±Ρ‹Π» доступСн, маскировало Π±Ρ‹ использованиС Ρ€Π°Π·Ρ€Π΅ΠΆΠ΅Π½Π½Ρ‹Ρ… массивов, ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»ΠΈΡΡŒ Π±Ρ‹ с ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚ΠΎΠΌ случаС, Ссли Π±Ρ‹ ΠΎΠ½ΠΈ тСстировали Π² старых Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ…. Однако с этим ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½Ρ‹ ΠΎΠ± использовании Ρ€Π°Π·Ρ€Π΅ΠΆΠ΅Π½Π½Ρ‹Ρ… массивов Ρ€Π°Π½ΡŒΡˆΠ΅, Π² соврСмСнных Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ…, поэтому Π΅ΡΡ‚ΡŒ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΈΡ… Ρ€Π°Π½Π΅Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ столкнСтся с ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ.

Π― Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π·Π°ΠΏΠΎΠ·Π΄Π°Π»ΠΈ с ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ основной вСрсии (ΠΌΠ½ΠΎΠ³ΠΎΠ΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ Π·Π° 219 ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ²). Выпуск вСрсии 2.0 ΠΈ ΡƒΠΊΡ€Π΅ΠΏΠ»Π΅Π½ΠΈΠ΅ нашСй ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ вСрсий ΠΈΠΌΠ΅Π»ΠΈ Π±Ρ‹ здСсь большоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

:+1:

критичСскиС измСнСния (мноТСствСнноС число критичСских ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ)

(вычислСния) ИзмСнСниС Π² ΠΎΠ΄Π½ΠΎΠΉ части ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ систСмы, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΎΡ‚ΠΊΠ°Π·Ρƒ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ²; Ρ‡Π°Ρ‰Π΅ всСго встрСчаСтся Π² раздСляСмых Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ… ΠΊΠΎΠ΄Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… нСсколькими прилоТСниями.
«НСвозмоТно ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ старыС записи Π±Π΅Π· критичСских ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, поэтому ΠΏΠ΅Ρ€Π΅Π½Π°Π·Π½Π°Ρ‡ΡŒΡ‚Π΅ старыС записи Π½Π° Π½ΠΎΠ²Ρ‹Π΅ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π°Β».

НСкоторыС ΠΈΠ· Π½ΠΈΡ… Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΡ‹ΡˆΠ»Π΅Π½ΠΈΡ ΠΈ суТдСния. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π°Π²Π΄ΠΎΠΉ, Ρ‡Ρ‚ΠΎ всС измСнСния Π½Π°Ρ€ΡƒΡˆΠ°ΡŽΡ‚ Ρ‡Π΅ΠΉ-Ρ‚ΠΎ ΠΊΠΎΠ΄, Π½ΠΎ Ссли всС участники согласятся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ открытости/закрытости Π² качСствС руководства для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ прСдставляСт собой Π²Π·Π»ΠΎΠΌ, это ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ Тизнь всСм.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ любого свойства ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π² API, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π½Π΅ являСтся критичСским ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ (API ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ для Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ, Π½ΠΎ Π·Π°ΠΊΡ€Ρ‹Ρ‚ для ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ нСсовмСстимых ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ).

ИзмСнСния Π² сигнатурах Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°Π·ΠΌΡ‹ΡˆΠ»Π΅Π½ΠΈΠΉ.

Π”ΠΎΠ»ΠΆΠ½Ρ‹ Π»ΠΈ ΠΌΡ‹ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΡ‚ΡŒΡΡ с ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ значСния _.each, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ исходный список?

Π‘Ρ‹Π»Π° Π»ΠΈ это задокумСнтированная функция API, которая слуТила ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ Ρ†Π΅Π»ΠΈ? НапримСр, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΊΠΎΠ³Π΄Π° ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹Π΅ Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π΅ приводят ΠΊ осмыслСнному Π²Ρ‹Π²ΠΎΠ΄Ρƒ. Π‘ each ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π΄Π΅Π»ΠΎ обстоит ΠΈΠ½Π°Ρ‡Π΅... Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ, Π½Π°Π²Π΅Ρ€Π½ΠΎΠ΅, Π½Π΅ ломаСтся.

Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, ΠΈΠ·Π±Π΅Π³Π°Π½ΠΈΠ΅ Ρ€Π°Π·Ρ€Π΅ΠΆΠ΅Π½Π½Ρ‹Ρ… массивов ΠΈΠΌΠ΅Π΅Ρ‚ больший ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π» для измСнСния Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ, поэтому ясно, Ρ‡Ρ‚ΠΎ это критичСскоС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅, ΠΈ всС, ΠΊΡ‚ΠΎ использовал Ρ€Π°Π·Ρ€Π΅ΠΆΠ΅Π½Π½Ρ‹Π΅ массивы, заботятся.

Π Π°Π·Ρ€Π΅ΠΆΠ΅Π½Π½Ρ‹Π΅ массивы ΠΌΠΎΠ³ΡƒΡ‚ Π½Π΅ ΠΏΠ΅Ρ€Π΅ΠΆΠΈΡ‚ΡŒ ES6, Π½ΠΎ ΠΎΠ½ΠΈ Π΅Ρ‰Π΅ Π½Π΅ ΡƒΠΌΠ΅Ρ€Π»ΠΈ.

@akre54
Иногда ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° вопрос, ломаСтся ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π½Π΅Ρ‚, Π½Π΅ являСтся прямым. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ контСкст, история ΠΈ Π΄Π°Π½Π½Ρ‹Π΅. К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, я смог ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Lo-Dash Π² качСствС ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½Π° для тСстирования Π½ΠΎΠ²Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ измСнСния ΡΠ±ΠΈΠ²Π°ΡŽΡ‚ с Ρ‚ΠΎΠ»ΠΊΡƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΏΠΎΡΡ‚ΡƒΠΏΠ°ΡŽΡ‰ΠΈΡ… ΠΎΡ‚ Underscore. Underscore, Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ это для принятия обоснованных Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ ΠΎ влиянии ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.

По ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ semver ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΠ΅ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹Ρ… критичСских ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² выпуски исправлСний ΠΈ ΠΏΠΎΠ±ΡƒΠ΄ΠΈΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π·Π°Π΄ΡƒΠΌΠ°Ρ‚ΡŒΡΡ ΠΎ влиянии своих ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Π­Ρ‚ΠΎ ΠΏΠΎΠ±Π΅Π΄Π° для всСх.

@jdalton , классный поступок. :)

Π‘Ρ‹Π»Π° Π»ΠΈ эта страница ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ?
0 / 5 - 0 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ

Π‘ΠΌΠ΅ΠΆΠ½Ρ‹Π΅ вопросы

afranioce picture afranioce  Β·  8ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

arieljake picture arieljake  Β·  4ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

githublyp picture githublyp  Β·  3ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

marcalj picture marcalj  Β·  5ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

sky0014 picture sky0014  Β·  8ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ