Дело не только в скорости, а ещё и в том, что у тебя строка делает ЧТО-ТО ОДНО. Это как одна команда в каком-то языке чуть посложнее. Считай, ты макрос ввёл.
Потому что мы все имеем опыта программирования на более высоком уровне, выделение строки для каждой команды слишком «разбавляет» код. Да, я тоже терпеть не могу вереницы присваиваний
ld hl,#4000,de,#4001,bc,6911,(hl),l:ldir
Но пора перестать мешать в кучу код в строку (нормальная идея) от синтаксиса шторма — это не одно и то же.
Голова не обязательно должна кружиться от кода в строчку:
Я, кстати, в С очень часто обработку ошибок в одну строчку пишу, чтобы простыни снизу равной кол-ву основного кода не было когда с вложением проверки делаешь. Метку «error» использую в качестве аналога деструктора, если до этой проверки были выделены ресурсы (инициализированы драйвера, аллоцирована память (да, я пользуюсь динамическим выделением памяти)).
Типа:
Ну просто сидя в каком-нибудь Intellisense редакторе, ты всерьёз будешь мне говорить что может возникнуть проблема от того что у кого-то 5 команд в строке? Ну да, чуть другой интерфейс понадобится, но несерьёзно это как аргумент выдавать.
Напомню, в C разрешено больше одной команды в строке. И мы все до сих пор живы.
Я скорее о том что существуют два вектора — люди в сторону усложнения, и люди в сторону упрощения.
(Эйнштейн) «Все должно быть изложено так просто, как только возможно, но не проще.»
С этим тесно связан закон достаточного основания. Любая сложность должна быть весомо аргументирована. Но это уже из области построения систем, как таковых.
А вот с точки зрения рефакторинга — это хорошая, блестящая аргументация, которая бьет все остальное.
я кажется делал так: вводил две метки, одну на строке с командой, чтобы нельзя было ничего вписать между меткой, а вторую ставил вне строки. Т.е.
trb_play
track_pos: ld hl,0
Соответственно, первая метка это имя функции для call/jump, вторая чисто для данных. Да, ее нельзя использовать «где-то там» без контроля, и это плохо, error-prone.
Плохо уже помню, но кажется конструкций вида label equ $+1 в некоторый момент просто не было… Сейчас лучше использовать label equ $+1, еще и потому на других машинах встретится именно это.
Не вполне размышлизмы, с моей стороны это напротив, хардкорная практика, практика, практика.
Сейчас конкретно я сижу перед браузером :) А вообще, бывает, работаю с кодом открывая три и даже четыре окна параллельно рядом друг с другом. Почему окна открываются слева-направо, четырьмя столбцами окон? Почему там код в столбец? Почему они не открываются друг-под-другом? (ну ок, два окна еще можно). И почему я матюгаюсь, скроллируя окошко влево-вправо, когда какой-то деятель нафигачил длинных строк? :)
Всерьез убеждаю тебя освоить редактирование с параллельным открытием нескольких окошек рядом… Дико удобно, да и если кто-нибудь видит, немедленно оценит твою крутизну :))))
именно вариант с: нравится.
Потому что мы все имеем опыта программирования на более высоком уровне, выделение строки для каждой команды слишком «разбавляет» код. Да, я тоже терпеть не могу вереницы присваиваний
Но пора перестать мешать в кучу код в строку (нормальная идея) от синтаксиса шторма — это не одно и то же.
Голова не обязательно должна кружиться от кода в строчку:
Разумеется, любую, даже самую хорошую идею можно довести до абсурда. Но что это доказывает? Правильно, ничего.
вполне логическая связка, годная для быстроты ввода.
Если это прочитать быстро то можно вызвать демона :) Чем продолжительней строка тем круче демон.
Типа:
Напомню, в C разрешено больше одной команды в строке. И мы все до сих пор живы.
:)))
(шутка, shinilb0g!)
(Эйнштейн) «Все должно быть изложено так просто, как только возможно, но не проще.»
С этим тесно связан закон достаточного основания. Любая сложность должна быть весомо аргументирована. Но это уже из области построения систем, как таковых.
Это не всегда означает просто, увы.
я кажется делал так: вводил две метки, одну на строке с командой, чтобы нельзя было ничего вписать между меткой, а вторую ставил вне строки. Т.е.
Соответственно, первая метка это имя функции для call/jump, вторая чисто для данных. Да, ее нельзя использовать «где-то там» без контроля, и это плохо, error-prone.
Плохо уже помню, но кажется конструкций вида label equ $+1 в некоторый момент просто не было… Сейчас лучше использовать label equ $+1, еще и потому на других машинах встретится именно это.
Сейчас конкретно я сижу перед браузером :) А вообще, бывает, работаю с кодом открывая три и даже четыре окна параллельно рядом друг с другом. Почему окна открываются слева-направо, четырьмя столбцами окон? Почему там код в столбец? Почему они не открываются друг-под-другом? (ну ок, два окна еще можно). И почему я матюгаюсь, скроллируя окошко влево-вправо, когда какой-то деятель нафигачил длинных строк? :)
Всерьез убеждаю тебя освоить редактирование с параллельным открытием нескольких окошек рядом… Дико удобно, да и если кто-нибудь видит, немедленно оценит твою крутизну :))))