
Дмитрий
16.07.2017
08:13:24

Vasiliy
16.07.2017
08:16:26

Дмитрий
16.07.2017
08:17:00
Я понимаю, что она делает, просто мы через это уже проходили

Vasiliy
16.07.2017
08:17:37
у стринги так и своих статических методов море типа Split, Join и т.д. чеб не дополнить

Google

Дмитрий
16.07.2017
08:17:54
Да, да, да, именно через это
А объясните чем метод самого объекта лучше чем функция, которая бы этот объект принимала аргументом
Работоспособность твоего кода начинает зависеть даже от местоположения в проекте, вводя неявные перекрёстные условия работоспособности
Абсолютно никак не связанные методы запихиваются в один объект, который совершенно не является инициатором действий, а скорее данными
Неявность такого кода — из контекста ты не можешь понять, валиден ли этот фрагмент, ты должен проверить неймспейсы и проверить, есть ли в каждом из них такие функции.
Этот подход нарушает инкапсуляцию
Нарушает целостность структуры объекта
Вообще можно долго продолжать

Vasiliy
16.07.2017
08:19:22
я на продакшене свифта работал, язык сырой еще был, мы пилили экстеншоны как могли, тим лид притащил бест практис

Daniel
16.07.2017
08:20:02

Vasiliy
16.07.2017
08:20:02
не знаю, если на вход подается тот же объект что и возвращается, ничего серьезного я думаю

Daniel
16.07.2017
08:20:21

Дмитрий
16.07.2017
08:20:34

Daniel
16.07.2017
08:21:10

Google

Daniel
16.07.2017
08:21:17
и когда метод описан извне
хотя это вкусовщина, никто не заставляет использовать внешние методы

Дмитрий
16.07.2017
08:22:01
Я вообще то аргументы привёл, конкретные, можно переключиться на них вместо вангования о моих навыках, м?

Daniel
16.07.2017
08:23:05
Во первых, ООП это просто слово обозначающие набор мало кому понятных по настоящему практик.
Сложно найти две одинаковые точки зрения на него.
На хабре эту тему раз сорок уже поднимали.
Поэтому нельзя осуждать что то по принципу "нарушается ООП"

Дмитрий
16.07.2017
08:23:37
Явно — это String -> Tag -> TaggedString, условно
Биндить методы к общеупотребляемым объектам — это, как бы так помягче выразиться, не то

Daniel
16.07.2017
08:24:26
Абсолютно никак не связанные методы запихиваются в один объект, который совершенно не является инициатором действий, а скорее данными
- правильно, обьект это данные, так и должно быть

Дмитрий
16.07.2017
08:24:39
Откуда методы в данных?

Daniel
16.07.2017
08:24:58
Неявность такого кода — из контекста ты не можешь понять, валиден ли этот фрагмент, ты должен проверить неймспейсы и проверить, есть ли в каждом из них такие функции.
-
в студии достаточно навести мышку на метод

Дмитрий
16.07.2017
08:25:17

Daniel
16.07.2017
08:25:20

Дмитрий
16.07.2017
08:25:30
И требует костыля от IDE

Daniel
16.07.2017
08:25:53
Метод - часть класса

Дмитрий
16.07.2017
08:25:58
Да
Именно к этому я и склоняю

Google

Дмитрий
16.07.2017
08:26:40

Daniel
16.07.2017
08:26:44
в решётках

Дмитрий
16.07.2017
08:27:02
Это костыль имеющий конкретные исторические причины
Почему я об этом знаю больше, м?)

Daniel
16.07.2017
08:27:42

Дмитрий
16.07.2017
08:27:51
Да, это и есть костыль

Rirush
16.07.2017
08:28:12

Daniel
16.07.2017
08:30:36
А следовательно
obj.Addition() это просто сахар для Addition(obj)

Дмитрий
16.07.2017
08:31:05
Мне безразлично на вред абстрактному ооп

Suren
16.07.2017
08:31:22
@Groosha, так в апи она появилась же, просто в клиентах не было
Интересно, что впервые эта фича была «анонсирована» почти полтора года назад, в конце октября 2015 (!) года: https://t.me/durov/33

Дмитрий
16.07.2017
08:31:25
Меня беспокоит конкретная проблема нарушения инкапсуляции

Евгений
16.07.2017
08:31:46

Анатолий
16.07.2017
08:31:47

Suren
16.07.2017
08:31:56
Ну это почти как с геочатами

Анатолий
16.07.2017
08:32:32
Когда ей понадобятся приватные свойства, ты начнёшь их открывать либо срочно переносить её внутрь класса

Daniel
16.07.2017
08:32:40

Google

Анатолий
16.07.2017
08:33:04
Это самый крутой антипаттерн "сделаю внезапно и потом"

Дмитрий
16.07.2017
08:33:32
Вот да)

Анатолий
16.07.2017
08:33:43
А ещё объект никогда не узнает об этой функции и иде не подскажет тебе о ней
Если он конечно не экстеншен метод

Дмитрий
16.07.2017
08:34:15
Да в до-диез то подскажет, только проблем это не решает)

Daniel
16.07.2017
08:35:31

Дмитрий
16.07.2017
08:35:35

Daniel
16.07.2017
08:36:15
Ахах
Нет правда, неужели у кого то всё мышление так завязано на архитектуру классов?

Анатолий
16.07.2017
08:36:35
А вообще конкретный случай в студию

Daniel
16.07.2017
08:36:45

Дмитрий
16.07.2017
08:37:33
Я спросил, что будет, если кастомные методы в объекте начнут совпадать, мне ответили, что код не скомпилируется.
То есть билды будут падать просто от того, что кто-то попробует объединить фрагменты кода, которые запрещено объединять в одном файле
Здорово, правда?)

Vasiliy
16.07.2017
08:40:57
https://blogs.msdn.microsoft.com/vbteam/2007/03/10/extension-methods-best-practices-extension-methods-part-6/

Дмитрий
16.07.2017
08:41:33
2007 год, visual basic team? Камон

Daniel
16.07.2017
08:41:48

Дмитрий
16.07.2017
08:41:53
Уже более десятилетия прошло с этих best practicies

b0g3r
16.07.2017
08:42:15
про это разговор и идет ведь

Google

Vasiliy
16.07.2017
08:42:44

Анатолий
16.07.2017
08:42:56

Дмитрий
16.07.2017
08:42:58
Хотя не, беру свои слова назад, пишут вроде всё правильно)
Think twice before extending types you don’t own ??

Евгений
16.07.2017
10:17:19

Oleg
16.07.2017
10:18:30
С телефона все ок.

Евгений
16.07.2017
10:19:44
Причём если убрать parse_mode="HTML", то видно, что все теги на месте, но при отображении в HTML начинается фигня
С телефона все ок.
Нет, не ок. Что на Android, что на Desktop форматирование в какой-то момент перестаёт добавляться.

Oleg
16.07.2017
10:20:14


Евгений
16.07.2017
10:21:46
Stats for player JoshOG
Region: as
Mode: solo
Season: 2017-pre2
? Rounds played: 44
? K/D: 3.20 (Kills: 131, Deaths: 41)
? W/L: 6.8% (Wins: 3, Losses: 41)
? Top 10: 15 (34.1%)
------------------
Region: na
Mode: squad
Season: 2017-pre2
? Rounds played: 173
? K/D: 6.86 (Kills: 535, Deaths: 78)
? W/L: 54.9% (Wins: 95, Losses: 78)
? Top 10: 148 (85.6%)
------------------
Region: All regions combined
Mode: solo
Season: 2017-pre2
? Rounds played: 57
? K/D: 3.45 (Kills: 183, Deaths: 53)
? W/L: 7.0% (Wins: 4, Losses: 53)
? Top 10: 21 (36.8%)
------------------
Region: All regions combined
Mode: squad
Season: 2017-pre2
? Rounds played: 391
? K/D: 6.01 (Kills: 1,256, Deaths: 209)
? W/L: 46.6% (Wins: 182, Losses: 209)
? Top 10: 303 (77.5%)
------------------
Region: as
Mode: duo
Season: 2017-pre2
? Rounds played: 80
? K/D: 5.44 (Kills: 332, Deaths: 61)
? W/L: 23.8% (Wins: 19, Losses: 61)
? Top 10: 34 (42.5%)
------------------
Region: as
Mode: squad
Season: 2017-pre2
? Rounds played: 116
? K/D: 4.86 (Kills: 374, Deaths: 77)
? W/L: 33.6% (Wins: 39, Losses: 77)
? Top 10: 74 (63.8%)
------------------
Region: All regions combined
Mode: duo
Season: 2017-pre2
? Rounds played: 151
? K/D: 5.53 (Kills: 603, Deaths: 109)
? W/L: 27.8% (Wins: 42, Losses: 109)
? Top 10: 79 (52.3%)
------------------
Region: eu
Mode: solo
Season: 2017-pre2
? Rounds played: 7
? K/D: 4.33 (Kills: 26, Deaths: 6)
? W/L: 14.3% (Wins: 1, Losses: 6)
? Top 10: 4 (57.1%)
------------------
Region: eu
Mode: squad
Season: 2017-pre2
? Rounds played: 61
? K/D: 6.36 (Kills: 210, Deaths: 33)
? W/L: 45.9% (Wins: 28, Losses: 33)
? Top 10: 48 (78.7%)
------------------
Region: oc
Mode: duo
Season: 2017-pre2
? Rounds played: 37
? K/D: 6.75 (Kills: 162, Deaths: 24)
? W/L: 35.1% (Wins: 13, Losses: 24)
? Top 10: 23 (62.2%)
------------------
Region: eu
Mode: duo
Season: 2017-pre2
? Rounds played: 19
? K/D: 4.13 (Kills: 62, Deaths: 15)
? W/L: 21.1% (Wins: 4, Losses: 15)
? Top 10: 12 (63.2%)
------------------
Region: oc
Mode: squad
Season: 2017-pre2
? Rounds played: 40
? K/D: 6.40 (Kills: 128, Deaths: 20)
? W/L: 50.0% (Wins: 20, Losses: 20)
? Top 10: 32 (80.0%)
------------------
Region: oc
Mode: solo
Season: 2017-pre2
? Rounds played: 6
? K/D: 4.33 (Kills: 26, Deaths: 6)
? W/L: 0.0% (Wins: 0, Losses: 6)
? Top 10: 2 (33.3%)
------------------
Region: sa
Mode: duo
Season: 2017-pre2
? Rounds played: 3
? K/D: 17.00 (Kills: 17, Deaths: 1)
? W/L: 66.7% (Wins: 2, Losses: 1)
? Top 10: 3 (100.0%)
------------------
Region: na
Mode: duo
Season: 2017-pre2
? Rounds played: 12
? K/D: 3.75 (Kills: 30, Deaths: 8)
? W/L: 33.3% (Wins: 4, Losses: 8)
? Top 10: 7 (58.3%)
------------------
Region: sa
Mode: squad
Season: 2017-pre2
? Rounds played: 1
? K/D: 9.00 (Kills: 9, Deaths: 1)
? W/L: 0.0% (Wins: 0, Losses: 1)
? Top 10: 1 (100.0%)


AbduCOM
16.07.2017
10:22:30
Stats for player JoshOG
Region: as
Mode: solo
Season: 2017-pre2
? Rounds played: 44
? K/D: 3.20 (Kills: 131, Deaths: 41)
? W/L: 6.8% (Wins: 3, Losses: 41)
? Top 10: 15 (34.1%)
------------------
Region: na
Mode: squad
Season: 2017-pre2
? Rounds played: 173
? K/D: 6.86 (Kills: 535, Deaths: 78)
? W/L: 54.9% (Wins: 95, Losses: 78)
? Top 10: 148 (85.6%)
------------------
Region: All regions combined
Mode: solo
Season: 2017-pre2
? Rounds played: 57
? K/D: 3.45 (Kills: 183, Deaths: 53)
? W/L: 7.0% (Wins: 4, Losses: 53)
? Top 10: 21 (36.8%)
------------------
Region: All regions combined
Mode: squad
Season: 2017-pre2
? Rounds played: 391
? K/D: 6.01 (Kills: 1,256, Deaths: 209)
? W/L: 46.6% (Wins: 182, Losses: 209)
? Top 10: 303 (77.5%)
------------------
Region: as
Mode: duo
Season: 2017-pre2
? Rounds played: 80
? K/D: 5.44 (Kills: 332, Deaths: 61)
? W/L: 23.8% (Wins: 19, Losses: 61)
? Top 10: 34 (42.5%)
------------------
Region: as
Mode: squad
Season: 2017-pre2
? Rounds played: 116
? K/D: 4.86 (Kills: 374, Deaths: 77)
? W/L: 33.6% (Wins: 39, Losses: 77)
? Top 10: 74 (63.8%)
------------------
Region: All regions combined
Mode: duo
Season: 2017-pre2
? Rounds played: 151
? K/D: 5.53 (Kills: 603, Deaths: 109)
? W/L: 27.8% (Wins: 42, Losses: 109)
? Top 10: 79 (52.3%)
------------------
Region: eu
Mode: solo
Season: 2017-pre2
? Rounds played: 7
? K/D: 4.33 (Kills: 26, Deaths: 6)
? W/L: 14.3% (Wins: 1, Losses: 6)
? Top 10: 4 (57.1%)
------------------
Region: eu
Mode: squad
Season: 2017-pre2
? Rounds played: 61
? K/D: 6.36 (Kills: 210, Deaths: 33)
? W/L: 45.9% (Wins: 28, Losses: 33)
? Top 10: 48 (78.7%)
------------------
Region: oc
Mode: duo
Season: 2017-pre2
? Rounds played: 37
? K/D: 6.75 (Kills: 162, Deaths: 24)
? W/L: 35.1% (Wins: 13, Losses: 24)
? Top 10: 23 (62.2%)
------------------
Region: eu
Mode: duo
Season: 2017-pre2
? Rounds played: 19
? K/D: 4.13 (Kills: 62, Deaths: 15)
? W/L: 21.1% (Wins: 4, Losses: 15)
? Top 10: 12 (63.2%)
------------------
Region: oc
Mode: squad
Season: 2017-pre2
? Rounds played: 40
? K/D: 6.40 (Kills: 128, Deaths: 20)
? W/L: 50.0% (Wins: 20, Losses: 20)
? Top 10: 32 (80.0%)
------------------
Region: oc
Mode: solo
Season: 2017-pre2
? Rounds played: 6
? K/D: 4.33 (Kills: 26, Deaths: 6)
? W/L: 0.0% (Wins: 0, Losses: 6)
? Top 10: 2 (33.3%)
------------------
Region: sa
Mode: duo
Season: 2017-pre2
? Rounds played: 3
? K/D: 17.00 (Kills: 17, Deaths: 1)
? W/L: 66.7% (Wins: 2, Losses: 1)
? Top 10: 3 (100.0%)
------------------
Region: na
Mode: duo
Season: 2017-pre2
? Rounds played: 12
? K/D: 3.75 (Kills: 30, Deaths: 8)
? W/L: 33.3% (Wins: 4, Losses: 8)
? Top 10: 7 (58.3%)
------------------
Region: sa
Mode: squad
Season: 2017-pre2
? Rounds played: 1
? K/D: 9.00 (Kills: 9, Deaths: 1)
? W/L: 0.0% (Wins: 0, Losses: 1)
? Top 10: 1 (100.0%)



Евгений
16.07.2017
10:23:03
именно


Oleg
16.07.2017
10:23:52
Stats for player JoshOG
Region: as
Mode: solo
Season: 2017-pre2
? Rounds played: 44
? K/D: 3.20 (Kills: 131, Deaths: 41)
? W/L: 6.8% (Wins: 3, Losses: 41)
? Top 10: 15 (34.1%)
------------------
Region: na
Mode: squad
Season: 2017-pre2
? Rounds played: 173
? K/D: 6.86 (Kills: 535, Deaths: 78)
? W/L: 54.9% (Wins: 95, Losses: 78)
? Top 10: 148 (85.6%)
------------------
Region: All regions combined
Mode: solo
Season: 2017-pre2
? Rounds played: 57
? K/D: 3.45 (Kills: 183, Deaths: 53)
? W/L: 7.0% (Wins: 4, Losses: 53)
? Top 10: 21 (36.8%)
------------------
Region: All regions combined
Mode: squad
Season: 2017-pre2
? Rounds played: 391
? K/D: 6.01 (Kills: 1,256, Deaths: 209)
? W/L: 46.6% (Wins: 182, Losses: 209)
? Top 10: 303 (77.5%)
------------------
Region: as
Mode: duo
Season: 2017-pre2
? Rounds played: 80
? K/D: 5.44 (Kills: 332, Deaths: 61)
? W/L: 23.8% (Wins: 19, Losses: 61)
? Top 10: 34 (42.5%)
------------------
Region: as
Mode: squad
Season: 2017-pre2
? Rounds played: 116
? K/D: 4.86 (Kills: 374, Deaths: 77)
? W/L: 33.6% (Wins: 39, Losses: 77)
? Top 10: 74 (63.8%)
------------------
Region: All regions combined
Mode: duo
Season: 2017-pre2
? Rounds played: 151
? K/D: 5.53 (Kills: 603, Deaths: 109)
? W/L: 27.8% (Wins: 42, Losses: 109)
? Top 10: 79 (52.3%)
------------------
Region: eu
Mode: solo
Season: 2017-pre2
? Rounds played: 7
? K/D: 4.33 (Kills: 26, Deaths: 6)
? W/L: 14.3% (Wins: 1, Losses: 6)
? Top 10: 4 (57.1%)
------------------
Region: eu
Mode: squad
Season: 2017-pre2
? Rounds played: 61
? K/D: 6.36 (Kills: 210, Deaths: 33)
? W/L: 45.9% (Wins: 28, Losses: 33)
? Top 10: 48 (78.7%)
------------------
Region: oc
Mode: duo
Season: 2017-pre2
? Rounds played: 37
? K/D: 6.75 (Kills: 162, Deaths: 24)
? W/L: 35.1% (Wins: 13, Losses: 24)
? Top 10: 23 (62.2%)
------------------
Region: eu
Mode: duo
Season: 2017-pre2
? Rounds played: 19
? K/D: 4.13 (Kills: 62, Deaths: 15)
? W/L: 21.1% (Wins: 4, Losses: 15)
? Top 10: 12 (63.2%)
------------------
Region: oc
Mode: squad
Season: 2017-pre2
? Rounds played: 40
? K/D: 6.40 (Kills: 128, Deaths: 20)
? W/L: 50.0% (Wins: 20, Losses: 20)
? Top 10: 32 (80.0%)
------------------
Region: oc
Mode: solo
Season: 2017-pre2
? Rounds played: 6
? K/D: 4.33 (Kills: 26, Deaths: 6)
? W/L: 0.0% (Wins: 0, Losses: 6)
? Top 10: 2 (33.3%)
------------------
Region: sa
Mode: duo
Season: 2017-pre2
? Rounds played: 3
? K/D: 17.00 (Kills: 17, Deaths: 1)
? W/L: 66.7% (Wins: 2, Losses: 1)
? Top 10: 3 (100.0%)
------------------
Region: na
Mode: duo
Season: 2017-pre2
? Rounds played: 12
? K/D: 3.75 (Kills: 30, Deaths: 8)
? W/L: 33.3% (Wins: 4, Losses: 8)
? Top 10: 7 (58.3%)
------------------
Region: sa
Mode: squad
Season: 2017-pre2
? Rounds played: 1
? K/D: 9.00 (Kills: 9, Deaths: 1)
? W/L: 0.0% (Wins: 0, Losses: 1)
? Top 10: 1 (100.0%)
А, ну так потому что у тебя VIP закончился.


b0g3r
16.07.2017
10:24:11
:)

AbduCOM
16.07.2017
10:25:05

Евгений
16.07.2017
10:25:27
Ага, больше 100 нельзя
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150

ultranoise ?
16.07.2017
10:25:44
бля