Любая программа или трюк, чтобы найти определение переменной?

Заполнение

Итак, заполнение базы данных - это процесс, в котором начальный набор данных предоставляется базе данных.

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

var seeder = require('mongoose-seed');

// Connect to MongoDB via Mongoose
seeder.connect('mongodb://localhost/yourDatabase', function() {

// Load Mongoose models
seeder.loadModels([
    'models/roles.js'
]);

// Clear specified collections
seeder.clearModels(['roles'], function() {

// Callback to populate DB once collections have been cleared
seeder.populateModels(data, function() {
        seeder.disconnect();
     });

  });
});

// Data array containing seed data - documents organized by Model 
var data = [
   {
      'model': 'role',
      'documents': [
          {
              'role': 'user',
              'value': ['readPost', 'commentPost', 'votePost']
          },{
              'role': 'another role',
              'value': ['updatePost', 'deletePost']
          }
       ]
   }
];

поместите этот код в файл seed.js и запустите его.


библиотека семян мангусты

8
задан Eduardo 18 February 2009 в 16:52
поделиться

8 ответов

Править: Хорошо, Вы говорите использование C++. Я редактирую свой ответ. Я использовал бы препроцессор C и затем grep для переменной. Это появится во-первых.

cpp -I...(preprocessor options here) file.cpp | grep variable

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

Другая опция использовала бы ctags. Это понимает C и синтаксисы C++ (среди других), и может искаться переменные и функции с помощью инструментов командной строки, emacs и vi, среди других.

8
ответ дан 5 December 2019 в 06:24
поделиться

Вы уже дали самый соответствующий инструмент: IDE. Это - точно вид вещи, в которой выделяется IDE. Почему Вы не хотели бы использовать IDE при нахождении разработки болезненной без одной?

Обратите внимание, что Emacs, Vim и т.д. может работать IDE - я не говорю о принуждении Вас мир графический интерфейсов пользователя, если Вы хотите остаться в ситуации только для текста, например, потому что Вы - SSHing в.

(Я действительно не пытаюсь быть грубым здесь. Я просто думаю, что Вы обесценили очевидное решение, не объясняя почему.)

11
ответ дан 5 December 2019 в 06:24
поделиться

Grep для общих шаблонов для объявлений переменной. Пример: *, и,> или алфавитно-цифровое, сопровождаемое одним или несколькими пробельными символами затем название переменной. Или имя переменной, сопровождаемое нулем или большим количеством пробельных символов, затем левая круглая скобка или точка с запятой. Если это не было определено при действительно странных обстоятельствах (как с некоторым макросом), это работает каждый раз.

1
ответ дан 5 December 2019 в 06:24
поделиться

Я использую cscope и ctags-избыточный неукоснительно. Выполните его однажды на моей кодовой базе и затем в Vim, я могу использовать различные команды как ^] или [D или [я или подобный для нахождения любых определений или объявлений для пообещанного.

Это подобно услугам, предоставленным мега-IDE как Visual Studio и Eclipse.

Cscope также функционирует как автономный инструмент, который выполняет эти поиски.

5
ответ дан 5 December 2019 в 06:24
поделиться

В VIM можно использовать gd видеть локальные объявления переменных или gD видеть объявления глобальной переменной, если они определяются в текущем файле. Ссылочный Go_to_definition_using_g

Можно также использовать [i видеть определение, не переходя к нему, или [I видеть все случаи переменной во всех включенных файлах также, которые естественно покажут определение также.

1
ответ дан 5 December 2019 в 06:24
поделиться

Я использую один из трех методов:

  1. Я буду использовать CTags для обработки моего исходного дерева (ночью) и затем могу легко использовать команды в Vim (или другие редакторы) для перехода права на определение.
  2. Я буду просто использовать grep (Linux) или findstr (окна) для поиска всех случаев имени переменной или типа. Определение обычно довольно очевидно.
  3. В Vim можно просто искать назад в объеме и часто находить то, что Вы ищете.
2
ответ дан 5 December 2019 в 06:24
поделиться

Если Вы работаете в Microsoft Visual Studio (который я думаю, что Вы могли использовать для C++ также, но потребуете работы над рабочей станцией Windows) существует легкодоступная опция контекстного меню для, "Переходят к Определению...", которое возьмет Вас к определению любой в настоящее время отмечаемой переменной, типа или метода.

-1
ответ дан 5 December 2019 в 06:24
поделиться

если Вы настаиваете на том, чтобы оставаться текстовый режим, можно сделать это или с emacs или с vi с соответствующими плагинами.

Но действительно, переместитесь в 21-й век.

Править: Вы прокомментировали выполнение этого по SSH, потому что Вам нужна скорость сборки кластера удаленного сервера.

В этом случае смонтируйте диск на своей локальной машине и используйте IDE и просто SSH в начать сборку.

-1
ответ дан 5 December 2019 в 06:24
поделиться
Другие вопросы по тегам:

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