@oop_ru

Страница 44 из 785
Sergei
24.12.2016
08:47:42
я при оказии подробнее расспрошу про тот формат чейнджлога - то ли он устроен совсем просто, то ли я чего-то сербезно упускаю.

da horsie
24.12.2016
08:47:59
первое

А гляньте еще разок на мою вторую попытку

https://github.com/f3ath/release-notes-generator

Google
Sergei
25.12.2016
05:26:08
https://github.com/f3ath/release-notes-generator
По-моему, идейно хорошо.

В php нет традиции интерфейсы как-то декорировать, типа "IRelease", как в С++?

Golodnyi
25.12.2016
05:51:41
хбз, я подписываю прям InterfaceName

da horsie
25.12.2016
05:52:51
Dmitriy
25.12.2016
05:53:34
А я NameInterface

guga
25.12.2016
08:12:42
Хм, в джаве у интерфейса никаких префиксов или суффиксов не делают, а у реализации, иногда бывает суффиксы impl или default

James Tiberius Kirk ?
25.12.2016
08:13:31
Мое мнение что название реализации должно содержать ее суть

а если у тебя один интерфейс и одна имплементация, то возможно смысла в этом интерфейсе нет

James Tiberius Kirk ?
25.12.2016
08:14:42
Хм, а как делать тогда di?
оно и без интерфейсов работает

по крайней мере в спринге

в спринге транзации работают хуже без интерфейсов из-за проксирования обильного

guga
25.12.2016
08:15:45
Да, но как только у тебя появится еще одна реализации, в слишком многих местах придётся менять значения.

Google
James Tiberius Kirk ?
25.12.2016
08:16:09
как только появится еще одна реализация, то тогда нужен интерфейс, да

guga
25.12.2016
08:18:59
ide с этим вполне справляется когда делаешь extract interface
Не помню такого, и слабо представляю, что она мне конфиги править будет.

Sergey
25.12.2016
09:22:17
https://www.jetbrains.com/help/idea/2016.2/extract-interface.html

Aleh
25.12.2016
10:14:04
Слабо представляю какой профит от того, что в имени интерфейса есть какое-то указание, что это интерфейс

Sergey
25.12.2016
10:18:35
проще навигация в гитхабе)

Aleh
25.12.2016
10:20:43
https://github.com/f3ath/release-notes-generator
https://github.com/f3ath/git-changelog/blob/master/src/Release/BaseRelease.php protected:/

guga
25.12.2016
10:21:27
но всем с универа в голову вбили, все принципы solid

Aleh
25.12.2016
10:22:21
Так в солид ж нет принципа добавляй I в имена интерфейсов

guga
25.12.2016
10:22:35
нет, есть принцип программирования от интерфейсов

Aleh
25.12.2016
10:22:43
Да и круто, если в универе принципы солид хотя бы упоминалось))

guga
25.12.2016
10:23:39
а когда у тебя есть блабла интерфейс, нужна же блабла реализация

в c# делают IБлаБла, в джаве БлаБлаImpl на реализации

Это всего лишь нейм конвейшин

Aleh
25.12.2016
10:25:27
http://cs.pikabu.ru/images/big_size_comm/2013-05_3/13684203607863.jpg

https://github.com/f3ath/release-notes-generator
https://github.com/f3ath/git-changelog/blob/master/src/Release/SubsequentRelease.php#L12 А почему здесь тег, а не релиз?

https://github.com/f3ath/release-notes-generator
https://github.com/f3ath/git-changelog/blob/master/src/Git/Git.php#L6 я бы назвал эту штуку типа ShellGit, потому что как вариант может появиться GitGateway через какие-нибудь биндинги к сишке

И какой смысл давать возможность не передавать Shell и RepoDetector

Google
Sergey
25.12.2016
11:57:55
Пояснишь?
protected это плохо

в 99% случаев

даже Страуступ говорит что "зря пошли на поводу и впилили protected в c++"

da horsie
25.12.2016
11:58:40
Sergey
25.12.2016
11:59:07
da horsie
25.12.2016
11:59:10
Sergey
25.12.2016
11:59:20
)

private по дефолту, public если у тебя тупо контейнер с данными, и никогда не делать protected

только когда рефакторишь легаси можно

но если пишешь с нуля лучше просто не использовать protected

da horsie
25.12.2016
12:00:09
private
Не понимаю. :( Можешь оформить это как пулреквест?

Sergey
25.12.2016
12:00:43
Не понимаю. :( Можешь оформить это как пулреквест?
просто избавься от наследования и все будет хорошо

Aleh
25.12.2016
12:01:02
Потому что в терминах гита и гитхаба это тег
релиз ссылается на тег и предыдущий релиз

Sergey
25.12.2016
12:01:18
блин, почему люди так любят совать гейтвеи прямо в сущности?

da horsie
25.12.2016
12:01:20
Я наслушался теории настолько, что она из ушей лезет уже. Как надо?

Aleh
25.12.2016
12:01:21
содержит тег*

Sergey
25.12.2016
12:01:41
Я наслушался теории настолько, что она из ушей лезет уже. Как надо?
запрети себе использовать ключевое слово extends

вообще

da horsie
25.12.2016
12:02:57
Чуваки, я вас всех безмерно уважаю и люблю. Покажите в реальности, как надо сделать? Пулреквестом. Пожалуйста.

Google
Sergey
25.12.2016
12:03:43
так

глянул код внимательнее

начнем со злопалучного protected и зачем ты его юзаешь

сначала уберем наследование, которое нам не нужно

@f3ath как проверить работу приложения?

тесты ты так и не написал

даже интеграционные

guga
25.12.2016
12:35:35
Sergey
25.12.2016
12:36:00
в jdk много где юзается, например в io стримах
это не говорит о том что это хорошо.

хотя в io стримах возможно и нужно

guga
25.12.2016
12:36:15
это не говорит о том что это хорошо.
просто по-другому сложно было бы сделать

Sergey
25.12.2016
12:36:41
ну возможно, но это лишь говорит что наследование это крайняя мера а не дефолт

@f3ath > $conf = Config::fromJsonFile();

ужас

вот это плохая статика

грязная

с сайд эффектами

ее невозможно нормально протестировать

Aleh
25.12.2016
13:06:29
https://twitter.com/KentBeck/status/812703192437981184

Google
Sergey
25.12.2016
13:07:25
хорошая метафора)

блин такая простая казалось бы програмка а сделана так сложно

не понятно почему git gateway и tag передаются явно как зависимости а принтер через дабл диспатч

в то же время вывод в консоль передается как зависимость к принтеру

ух

Страница 44 из 785