170 похожих чатов

Для читаемости кода есть какая-либо договорённость о последовательности объявлений функций?

Ну типа как в C, сначала объявить, потом вызывать?

func a() {}

func b() {
a()
}

Или наоборот? Читающему как легче воспринимать? Или всё равно, и это вкусовщина?

17 ответов

20 просмотров

Ну методы обычно желательно писать сначала экспортируемые. А экспортируемые вызывают неэкспортируемые, поэтому по логике объявление a должно быть ниже объявления b :) По мне так читаемость лучше

Вкусовщина. Зависит откуда человек пришёл. Я тоже обычно сначала пишу a до b, но это просто привычка сформировалась ещё в Pascal’е

Геннадий-Ковалёв Автор вопроса
wm0
Ну методы обычно желательно писать сначала экспорт...

Ну типа интересует что делает чужая либа, открываешь исходник, и экспортируемая функция сразу, а что он там во внутренних наворотил - дело десятое. Ок, понял.

Геннадий Ковалёв
Ну типа интересует что делает чужая либа, открывае...

Да, в питоне я начал аналогично делать, ориентироваться удобнее стало

Alexey Palazhchenko
В разных файлах 😄

А мне кажется писать лишь удобнее в разных файлах. А читать всегда сверху вниз без перепрыгивания по файлам в поисках функции. Идеально, если блок кода и коммент к блоку.

wm0
А мне кажется писать лишь удобнее в разных файлах....

Ну читать с навигацией по коду всё же удобнее. Но я с этого начал – вкусовщина

Геннадий-Ковалёв Автор вопроса
wm0
А мне кажется писать лишь удобнее в разных файлах....

Блок кода - это // Now block starts.... { // our awesome code... // ... } Такое?

Геннадий Ковалёв
Блок кода - это // Now block starts.... { // ...

Так в Go почти не делают. Обычно стараются выносить функции, если есть такая проблема со скопом

Геннадий-Ковалёв Автор вопроса
Alexey Palazhchenko
Так в Go почти не делают. Обычно стараются выносит...

Я где-то такое просто увидел и удивился, типа нафига.

Геннадий Ковалёв
Я где-то такое просто увидел и удивился, типа нафи...

Ну, именно для создания нового scope: и для области видимости, и для работы с памятью

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

Геннадий-Ковалёв Автор вопроса
Rostislav Teryaev
макконел советует сперва б, потом а. Ну это если с...

Я понял. Короче a() -> b() для машины, а b() -> a() для человека 😂

Alexey Palazhchenko
Вкусовщина. Зависит откуда человек пришёл. Я тоже ...

кмк сейчас вообще не важно. давно уже все перемещаются через хоткеи по коду, а не мышкой. мышка чисто для наведения и далее cmd + B или option + cmd + B или option + F7

Artur Karapetov
кмк сейчас вообще не важно. давно уже все перемеща...

Во-первых, не все. Во-вторых, при чём тут мышка?

Alexey Palazhchenko
Во-первых, не все. Во-вторых, при чём тут мышка?

“все”, я имел ввиду кому перфоманс важен. ну мышкой елозить, читать методы

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
у вас два процесса. один посылает другому сигнал. у вас есть код обоих процессов? если всё не так - расскажите как оно на самом деле. а именно кто кому чего, есть-ли консоли,...
Karagy
6
Карта сайта