
Oleg
25.05.2017
12:15:48
Кстати да
Эволюционный подход, без проб и ошибок и руби бы не было

Igor
25.05.2017
12:16:05

Google

Alexander
25.05.2017
12:16:25

Igor
25.05.2017
12:16:28
Он рождает чудовищ

Oleg
25.05.2017
12:16:37

Alexander
25.05.2017
12:17:28

Ярослав
25.05.2017
12:17:29
#hanami
А философия Ханами предполагает написание кастомной мемоизации, чтобы не делать лишние запросы в БД?
Т.е. нормально писать внутри Entity проверку "если ассоциация пустая, то пробуем её сначала прогрузить из БД, иначе берём загруженную"? и везде используем этот метод.
Или же не паримся и всегда, когда нужно поработать с некой моделью, просто загружаем её из БД отдельным запросом?

Igor
25.05.2017
12:17:52

Alexander
25.05.2017
12:18:05

Igor
25.05.2017
12:18:05
Но это будут бактерии по ободком унитаза

Alexander
25.05.2017
12:18:40

Igor
25.05.2017
12:18:55
У меня тут как раз такой случай

Alexander
25.05.2017
12:19:41
Проект — это одна вещь, бактерии — это множество. Чё ты несёшь
Не нравится проект — не берись. Никто не будет браться — "чудовище" умрёт. Готов браться — значит, оно может жить

Google

Igor
25.05.2017
12:20:33
Аналогия не в том что это бактерии
И в том что их много

Oleg
25.05.2017
12:20:57
Я так 2 года чудовищу пластическую операцию делал

Igor
25.05.2017
12:21:14

Oleg
25.05.2017
12:21:27
Там было всё замечательно - кроме проекта
:D

Zamira
25.05.2017
12:21:29

Igor
25.05.2017
12:21:41

Oleg
25.05.2017
12:22:21

Zamira
25.05.2017
12:22:38
Вот поэтому и проверяют в одном проекте))

Oleg
25.05.2017
12:23:02
В одном обычно если работает в итоге - всё, стабл версия, никому не трогать
Пишем в изначальном стиле, легаси и тп
А потом с ноля переписывают

Igor
25.05.2017
12:23:21

Oleg
25.05.2017
12:23:28
Исключения - большие проекты с лямом строк кода

Igor
25.05.2017
12:23:32
А просто распиздяйство

Alexander
25.05.2017
12:23:36

Igor
25.05.2017
12:24:24

Google

v
25.05.2017
12:25:01
#hanami
А философия Ханами предполагает написание кастомной мемоизации, чтобы не делать лишние запросы в БД?
Т.е. нормально писать внутри Entity проверку "если ассоциация пустая, то пробуем её сначала прогрузить из БД, иначе берём загруженную"? и везде используем этот метод.
Или же не паримся и всегда, когда нужно поработать с некой моделью, просто загружаем её из БД отдельным запросом?

Dima
25.05.2017
12:25:02
меня просто удивляет, что со всей свободой руби код там лучше чем то, что я вижу в пиотне, с его import this и философией явности, питонвей и тд

v
25.05.2017
12:25:24

Alexander
25.05.2017
12:25:25

Dima
25.05.2017
12:25:43
наколеночное и простое..

v
25.05.2017
12:25:58
ненаколеночное

Igor
25.05.2017
12:26:15

Dima
25.05.2017
12:44:58
ребят, никогда не сталкивался, но позабавило.
irb 2.4.1
irb(main):001:0> a
NameError: undefined local variable or method `a' for main:Object
from (irb):1
from /home/dmitry/.rbenv/versions/2.4.1/bin/irb:11:in `<main>'
irb(main):002:0> b
NameError: undefined local variable or method `b' for main:Object
from (irb):2
from /home/dmitry/.rbenv/versions/2.4.1/bin/irb:11:in `<main>'
irb(main):003:0> a = b
NameError: undefined local variable or method `b' for main:Object
from (irb):3
from /home/dmitry/.rbenv/versions/2.4.1/bin/irb:11:in `<main>'
irb(main):004:0> b = a
=> nil

Alexander
25.05.2017
12:46:56
pry: main > a
NameError: undefined local variable or method `a' for main:Object
from (pry):34:in `<main>'
pry: main > a = nil.foo
NoMethodError: private method `foo' called for nil:NilClass
from (pry):35:in `<main>'
pry: main > a
=> nil


Dima
25.05.2017
12:47:22
это только в pry/irb очевидно в файлах код падает на первом undefined local variable

Alex
25.05.2017
12:48:05
так он и в irb по сути упал

Igor
25.05.2017
13:12:38
Дело не в irb/pry

Dima
25.05.2017
13:14:55
ребят, а скиньте пожалуйста тот фановый сниппет с открытием ошибки на stackoverflow

Alexander
25.05.2017
13:16:23

Nikita
25.05.2017
13:20:06

Lupsick
25.05.2017
13:44:13
@flash_gordon Никита, зачем классам private методы?

Nikita
25.05.2017
13:52:17
да бывает, какой-то апи внутренний, который там вызывается из других публичных методов, чтобы не делать один гигантский публичный метод

Google

Nikita
25.05.2017
13:53:13
для меня private это просто синоним @api private

No
25.05.2017
13:53:58
это в целом про ruby private или вы в каком-то контексте общаетесь? )

Nikita
25.05.2017
13:54:21
я отвечал про руби)

No
25.05.2017
13:55:54
так по идее всё гораздо проще. private - это означает, что метод работает онли в контексте логики данного класса. и что если вызывать его в других кейсах - нормальное поведение не гарантируется

Aleksey
25.05.2017
13:56:51

No
25.05.2017
13:57:45
а, да ) туплю ) просто "апи внутренний" - не совсем понятно звучит, как по мне ) субъективно )

Alex
25.05.2017
14:34:52

Roman
25.05.2017
14:37:05
для js вот
https://camo.githubusercontent.com/8f214eab571dcd713891f1ec164f28b86e5ea29f/687474703a2f2f692e696d6775722e636f6d2f776c52775259692e6a7067

Lupsick
25.05.2017
14:51:17

Admin
ERROR: S client not available

Oleg
25.05.2017
14:51:40
Это ведь не про руби вопрос?

Nikita
25.05.2017
14:51:46
в руби или в доке? доку просто не все смотрят

Lupsick
25.05.2017
14:51:49
в руби
чуваки тут говорят что private не нужен

Oleg
25.05.2017
14:52:12
Это они зря конечно
Хотя деды на древних языках писали и норм
Но если есть возможность явно указать что приватно, а что нет - эту возможность надо использовать

Nikita
25.05.2017
14:53:32
ну смысл такой, что на private не распространются правила из semver, в любой момент это может поменяться

Alex
25.05.2017
14:58:24
у меня private все что не паблик.

kolas
25.05.2017
15:04:03
приватные просто для удобства, если кто-то другой смотрит твой класс то сразу ему ясно какие методы смотреть, а какие можно не смотреть

Google

Oleg
25.05.2017
15:11:05
Паблик четко говорят - вот это может юзаться где-то ещё, захочешь поменять - поищи места юзания
И пофикси их
Включая всё что аффектит выше
Если же приват - не вылезаешь за пределы дерева классов

Roman
25.05.2017
15:17:07
а ещё рефакторить в ide удобно, не шарится по всем файлам в поисках вызовов, которых там быть не может

Alex
25.05.2017
15:17:36
IDE не нужны.

Roman
25.05.2017
15:17:42
а вы ж ide не любите, я забыл, сорян

Alex
25.05.2017
15:17:53

Oleg
25.05.2017
15:29:40
IDE то конечно рефакторят, но тем не менее указание что это приват - удобнее

Nikita
25.05.2017
15:32:14
я если что имел в виду гемы, а не код в проектах. В проектах я предпочитаю классы, у которых есть только один метод, который вызывается извне — call. Так как это единственный интерфейс, отмечать остальные методы как private не имеет смысла

ojab
25.05.2017
15:38:13
удобно

Lupsick
25.05.2017
15:41:05

Nikita
25.05.2017
15:44:11
не исключено, конечно, но мне пока проще договориться
к этому просто привыкнуть
ну и не так уж слохно замутить какую-нибудь мета-фигню, которая остальные методы сама закроет

Lupsick
25.05.2017
15:45:45
и будет сложно отрефакторить

Aleksey
25.05.2017
15:48:24

ojab
25.05.2017
15:48:58