1) Что касательно JS - рекомендую обратить внимание на
Airbnb JavaScript style guide или на
Google JavaScript Style Guide.
Код должен быть в одном стиле. Т.е. либо везде используете ; либо нигде.
2) Также от себя лично добавлю, старайтесь обозначать переменные по умолчанию как const. Если вам не хватает const потому что вам надо переназначать переменную - только тогда делайте let.
Немного модифицируем ваш пример
let a = 0
let b = 1
const b2 = '/4'
const slider = document.querySelector('.slider')
const buttonNext = document.querySelector('.buttonNext')
const buttonBack = document.querySelector('.buttonBack')
const counter = document.querySelector('#counter')
Благодаря const мы сразу видим, что переменные не будут переназначаться (т.е. readonly). Правильное использование const и let - важный элемент самодокументирования кода.
3) Что касается CSS - присмотритесь к
Google HTML/CSS Style Guide
Например, в вашем случае порядок свойств в CSS классах не придерживается какого-либо порядка, поэтому читать такое неудобно. Сделайте по алфавиту (за исключением вендорных свойств). Этот пункт как-раз описан
тут.
Естественно это не надо ручками делать - поэтому вам придется познакомиться с различными системами автоматического форматирования кода.
4) Именование в CSS классах должно быть единого стиля. У вас в коде есть и .buttonBack и .container-button - lowerCamelCase и CamelCase стиль в CSS использовать нежелательно.
Так-то еще много есть замечаний (вроде неосмысленных названий переменных и пр.) - но это уже перечислили выше. По большей части строго настроенные линтеры кода вам будут хорошими помощниками и укажут на подобные проблемы.