Структуризация данных проекта

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Oleg Peiko
2602
Oleg Peiko  

Здравствуте все обитатели сего форума.

Возможно я ищу где то  не там , или ищу то чего нет , но хотелось бы видеть в редакторе (MetaEditor) структуру написанного с возможность сворачивания разворачивания.

С моей точки зрения лицезреть развернутый код оочень не удобно и часто возникает путаница (да закладки это немного исправляют но это всё равно немного не то). Вот пример один и тот же код в разных IDE - MetaEditor и VS2017

MetaEditor


VS2017

Как видим во втором варианте гораздо нагляднее видна структура файла и лишние переменные и операции глаза не мозолят.

PS даже Notepad++ умеет так делать хоть и не так удобно как в VS

Notepad++

Aleksey Ivanov
47335
Aleksey Ivanov  
Oleg Peiko:
 

PS даже Notepad++ умеет так делать хоть и не так удобно как в VS


Тут про фолдинг тема уже сто раз поднималась. Кстати, я сложный код, если его нужно свернуть и посмотреть в целом, переношу в тот же Notepad++ и смотрю что и как.  

Georgiy Merts
9189
Georgiy Merts  

А я - за то, чтобы код был как можно проще, и чтобы не надо было "сворачивать-разворачивать".

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

У меня везде максимум два уровня вложенности, и даже два - это редкость, чаще всего один.

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

В идеале - любая функция должна умещаться на один экран текста. И иметь в циклах один уровень вложенности.

При таком подходе к написанию кода - "сворачивание-разворачивание" теряет актуальность, и даже смысл.

Aleksey Ivanov
47335
Aleksey Ivanov  
Georgiy Merts:

А я - за то, чтобы код был как можно проще, и чтобы не надо было "сворачивать-разворачивать".

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

У меня везде максимум два уровня вложенности, и даже два - это редкость, чаще всего один.

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

В идеале - любая функция должна умещаться на один экран текста. И иметь в циклах один уровень вложенности.

При таком подходе к написанию кода - "сворачивание-разворачивание" теряет актуальность, и даже смысл.

Это подход к программированию. А парень просто хочет удобства редактора.
Oleg Peiko
2602
Oleg Peiko  
Georgiy Merts:

А я - за то, чтобы код был как можно проще, и чтобы не надо было "сворачивать-разворачивать".

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

У меня везде максимум два уровня вложенности, и даже два - это редкость, чаще всего один.

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

В идеале - любая функция должна умещаться на один экран текста. И иметь в циклах один уровень вложенности.

При таком подходе к написанию кода - "сворачивание-разворачивание" теряет актуальность, и даже смысл.

Класс - 1 уровень

Метод - 2 уровень

Цикл в методе - 3 уровень

Проверка в цикле метода - 4 уровень

что упрощать собираетесь то ?

Oleg Peiko
2602
Oleg Peiko  
Aleksey Ivanov:
Это подход к программированию. А парень просто хочет удобства редактора.

Именно так , потому и спрашиваю есть ли в этом IDE такая возможность , но судя по всему пока нет :(

Igor Zakharov
6510
Igor Zakharov  
Alt+M на 80% решает вопрос
Oleg Peiko
2602
Oleg Peiko  
Igor Zakharov:
Alt+M на 80% решает вопрос

Спасибо за подсказку, палец вверх так сказать , на небольших проектах возможно вполне даже удобно , но вот с большими имеются вопросы

1. отсутствует скрулбар

2. не работает даже скрул мыши и приходится тыкать мышей в треугольнички что не есть удобно

Alt+M

TheXpert
18277
TheXpert  
Oleg Peiko:

Спасибо за подсказку, палец вверх так сказать , на небольших проектах возможно вполне даже удобно , но вот с большими имеются вопросы

Alt+G и Ctrl+Space почти избавляют от необходимости фолдинга, дополнительной структуризации и дополнительной нотации переменных. В mql не так удобно из-за того что автокомплит регистрозависимый, но все равно.
Georgiy Merts
9189
Georgiy Merts  
Oleg Peiko:

Класс - 1 уровень

Метод - 2 уровень

Цикл в методе - 3 уровень

Проверка в цикле метода - 4 уровень

что упрощать собираетесь то ?

Классы у нас описываются в разных файлах, так что этот уровень "складывается".

Методы - описываются различными функциями - так что этот уровень также "складывается".

Цикл в методе - вполне нормально, это и есть уровень вложенности.

Проверка в цикле метода это не цикл в цикле, но даже если это трактовать, как "уровень вложенности" - то он только второй, вполне допустимый.

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий