Size: a a a

Emacs — русскоговорящее сообщество

2021 August 14

A ß in Emacs — русскоговорящее сообщество
но с вепрем, да? :3
источник

A

Artem in Emacs — русскоговорящее сообщество
Вятские поляны
источник

AS

Anton Stekanov (MSK+... in Emacs — русскоговорящее сообщество
Елисп - это конечно так себе, но емаксик любят многие. А Кложа - это модно и молодёжно
источник

A

Artem in Emacs — русскоговорящее сообщество
Да, модно, молодежно, очень круто, но не востребовано.
источник

LL

Lämppi Lütti in Emacs — русскоговорящее сообщество
Ты случайно в программирование не из кассиров попал?
источник

a

akater in Emacs — русскоговорящее сообщество
> А про свои тесты в оргмоде в любом случае расскажи тоже подробнее, плз
                                                      15:56
Идея такая: мне нравится когда тесты и их результаты присутствуют в очень непосредственном виде и легко доступны юзеру функции / библиотеки.

Примеры использования функции / интерфейса это частный случай тестов: написано вычисляемое выражение, написан результат.  Заодно если их оформлять так же как остальные тесты, гарантируется консистентность документации и кода, по крайней мере в том объеме, в котором примеры в документации обещают, как работает код.

Поэтому вот как, грубо говоря, выглядит типичный раздел в моем орг-файле, где определяется функция (в данном случае — макрос sow):

** Summary...
** Examples
[...]
*** TEST-PASSED Sow into different targets
#+begin_src lisp :tangle no :load no :results value verbatim :wrap example lisp :package serere-tests
(reap ((:squares :cubes))
 (loop :for i :from 1 :to 10
       :sum (1+ (- (sow (expt i 3) :cubes)
                   (sow (expt i 2) :squares)))))
#+end_src

#+EXPECTED:
#+begin_example lisp
2650
(1 4 9 16 25 36 49 64 81 100)
(1 8 27 64 125 216 343 512 729 1000)
#+end_example


Написано короткое название, что делает код в примере, написан код, написан ожидаемый результат.  Если я сделаю M-x run-nearest-test, то в нормальной обстановке просто получу сообщение Test passed.  В ненормальной будет что-то типа этого:

**** TEST-FAILED Sow into different targets
#+begin_src lisp :tangle no :load no :results value verbatim :wrap example lisp :package serere-tests
(reap ((:squares :cubes))
 (loop :for i :from 1 :to 10
       :sum (1+ (- (sow (expt i 3) :cubes)
                   (sow (expt i 2) :squares)))))
#+end_src

#+RESULTS:
#+begin_example lisp
2650
#+end_example

#+EXPECTED:
#+begin_example lisp
2650
(1 4 9 16 25 36 49 64 81 100)
(1 8 27 64 125 216 343 512 729 1000)
#+end_example


Соответственно, можно одной командой прогнать тесты во всем орг-буфере, и получится информативный дифф о том, что сломалось.  Поскольку это Emacs, он даже будет интерактивный, так что буфер с диффом можно назвать *failed tests in <whatever>*, прыгать из него по сломанным местам и чинить.  Ну или не чинить, а коммитить так — будет явное описание того, что сломано, прямо в коде.

У этого подхода есть некоторые шероховатости, и я их еще чиню.  Но в общем-то пользуюсь постоянно.  Такой у меня получается TDD, так сказать.
источник

A

Artem in Emacs — русскоговорящее сообщество
Нет, а ты?
источник

AS

Anton Stekanov (MSK+... in Emacs — русскоговорящее сообщество
Таки озвучьте, плз, ваш идеал. Плюсцы, похоже, не оно
источник

LL

Lämppi Lütti in Emacs — русскоговорящее сообщество
А то они любят рассказывать что любое говно поедят, лишь бы обратно за кассой не сидеть
источник

A

Artem in Emacs — русскоговорящее сообщество
Разговор не про идеал.
источник

A

Artem in Emacs — русскоговорящее сообщество
Разговор про то, что есть на самом деле.
источник

A

Artem in Emacs — русскоговорящее сообщество
Ну тебе виднее
источник

LL

Lämppi Lütti in Emacs — русскоговорящее сообщество
А я и не работал нигде до этого
источник

A

Artem in Emacs — русскоговорящее сообщество
Да и сейчас не работаешь
источник

LL

Lämppi Lütti in Emacs — русскоговорящее сообщество
Слишком заёбуюсь за деньги чтобы называть это не работой
источник

A

Artem in Emacs — русскоговорящее сообщество
Я не считаю разные работы чем-то зазорным, бтв
источник

LL

Lämppi Lütti in Emacs — русскоговорящее сообщество
И я не считаю
источник

LL

Lämppi Lütti in Emacs — русскоговорящее сообщество
Зазорным я считаю рассказывать что надо жрать что дают
источник

A

Artem in Emacs — русскоговорящее сообщество
Да нет, от тебя пышет колхозным элитизмом.
источник

LL

Lämppi Lütti in Emacs — русскоговорящее сообщество
Я элитка, мне каждый об этом сказать хочет
источник