@Urukhayy

Какие методы Вы используете, чтобы быстро найти участок в проекте с сотней тысяч строк?

Какие методы Вы используете, чтобы быстро найти участок в проекте с сотней тысяч строк?
К примеру для CTR + F у Вас запрос комментариев или названия функций, а может переменных?
  • Вопрос задан
  • 452 просмотра
Пригласить эксперта
Ответы на вопрос 8
GavriKos
@GavriKos
При правильной архитектуре - никакие особые инструменты не нужны. Достаточно понимать что ищется - и ответ "где оно может лежать" придет сам собой.
Ответ написан
kumaxim
@kumaxim
Web-программист
1)Ctrl + F
2)PHPStorm автоматически может перекидывать на определение функции
3)Отладчик

Если мы упоролись по хардкору, тогда любой hex-редактор
Ответ написан
Комментировать
nonlux
@nonlux
vim + grep/ack + g]
Ответ написан
Комментировать
@balamyt92
; select * from users; --
Такой задачи в процессе работы со своим/рабочим проектов возникать не должно. При правке чужого, для начала стоит ознакомиться с его архитектурой и там уже, при правильной архитектуре таких задач возникать не должно.
Если это не так, то в логике архитектуры косяк (как минимум в плане её восприятия человеком), а код пишется для людей, а не для компилятора, это нужно учитывать.
Ответ написан
@qwertyppp
Человек, генератор идей и #хочусделатьвсенонемогу
Neuroware
@Neuroware
Программист в свободное от работы время
сотня тысяч строк в нормальном проекте в 1 файле не лежит, в своей работе использую notepad++ с его поиском в папке
на выходе получается массив строк с подстрокой, чаще всего по ним можно определить та эта строка или нет, даже если их несколько тысяч выходит.
Ответ написан
Комментировать
Mrrl
@Mrrl
Заводчик кардиганов
Go to definition и Find all references в Visual Studio. Реже - поиск имени функции или строки по всему solution.
Ответ написан
Комментировать
@justaguest
grep с регулярными выражениями, и немного смекалки — самый лучший набор инструментов.

Говорю, как человек, кому нередко приходилось что-то искать в огромных проектах, о которых заранее было известно только их предназначение, да используемый язык программирования.

Живой пример: только вчера закончил писать курсовую, где в качестве практики фиксил небольшой баг в GUI текстового редактора Yi на Haskell (в котором я на момент написания этих слова разбираюсь чуть ниже среднего). Поскольку я не знаю ни архитектуры, не API, а в существующих статьях про интерфейс редактора нет ни слова, большая часть работы выглядела следующим образом:
  1. Войти в директорию, в которой предположительно — исходя из ее названия — находится интригующая меня часть кода
  2. Пойдя от обратного, спросить себя, как могла бы быть реализована та часть, которая меня сейчас интересует
  3. Найти в своих рассуждениях ключевые моменты, перевести их в ключевые слова, которые могли бы быть упомянуты в именах переменных/функций, комментариях, частично или полностью
  4. grep'нуть ключевые слова по коду, и пробежаться глазами по имеющимся линиям; особо интересные моменты просмотреть, открыв в текстовом редакторе
  5. Спросить, собрал ли я достаточно информации для понимания проблемы и возможного фикса; если нет, goto §2
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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