Раньше на тестовом задании я сразу бросался писать и к середине путался, что вообще от меня хотят. В этот раз сделал иначе: выписал вход, выход и граничные случаи. Звучит банально, но сэкономило часы и спасло от «решил не то». Радость от того, что код наконец совпал с условием.
Нейтрально: тестовое — это маленький проект; его разбивают на шаги, а не импровизируют. Уточняющие вопросы до старта — норма.
def parse_rows(text: str, sep: str = ",") -> list[list[str]]:
# договоримся: пустые строки игнорируем
return [line.split(sep) for line in text.splitlines() if line.strip()]
# тестовые "края", которые я выписал заранее:
print(parse_rows("a,b
c", sep=",")) # [['a','b'],['c']]
Победа не в скорости, а в точности: понял задачу → шаги → реализация → лёгкие тесты. Тестовые больше не «страшилка», а управляемый процесс, почти как любой из моих пeтов.