
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
В 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
Мое мнение что название реализации должно содержать ее суть
а если у тебя один интерфейс и одна имплементация, то возможно смысла в этом интерфейсе нет

guga
25.12.2016
08:14:26

James Tiberius Kirk ?
25.12.2016
08:14:42
по крайней мере в спринге
в спринге транзации работают хуже без интерфейсов из-за проксирования обильного

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

Google

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

Sergey
25.12.2016
08:17:08

guga
25.12.2016
08:18:59

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

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/Git/Git.php#L6 я бы назвал эту штуку типа ShellGit, потому что как вариант может появиться GitGateway через какие-нибудь биндинги к сишке
И какой смысл давать возможность не передавать Shell и RepoDetector

da horsie
25.12.2016
11:57:22

Google

Sergey
25.12.2016
11:57:55
в 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
вообще

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
хотя в 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 передаются явно как зависимости а принтер через дабл диспатч
в то же время вывод в консоль передается как зависимость к принтеру
ух