Много раз я забываю о своем приложении. Я не запоминаю имена таблиц или то, что сделал запрос, и я ищу, чтобы получить то, что я хочу. Мой руководитель группы сказал мне, что я должен запомнить имена таблиц, которые я использую.
Требуется ли от разработчика запоминать имена таблиц в базе данных, имена классов и т. Д.? И если ответ «Да, все время», что я должен сделать, чтобы запомнить эти вещи?
Ответы:
Вам не нужно явно запоминать эти вещи. Под этим я подразумеваю сесть и выучить их, как список слов для проверки правописания. В первую очередь имена должны быть запоминающимися и обнаруживаемыми, чтобы вы могли найти их снова без особых усилий.
Вы также должны иметь доступ к инструментам, которые помогут вам с автозаполнением и тому подобным.
В большой системе, состоящей из более 100 таблиц, нельзя ожидать, что вы действительно запомните каждое имя таблицы и имя каждого столбца, однако с запоминающимися, обнаруживаемыми именами и регулярным использованием вы должны будете запомнить самые важные детали и те, которые вы используете каждый день.
источник
Эйнштейн сказал: «Никогда не запоминай, что ты можешь найти [в книгах]», и я полностью согласен.
Используйте свою память для абстрактных вещей (методов и принципов разработки), а не фактов, которые вы можете найти, когда они вам нужны.
источник
Стыдно признаться - я использую C уже почти 30 лет, но никогда не могу вспомнить, как объявлять указатели на функции - мне всегда нужно вызывать K & R для проверки синтаксиса.
Еще более неловко, я должен очень серьезно задуматься о том, как работает typedef - так ли это:
или
Это мои личные слепые пятна. Я бы не волновался, если бы у вас были подобные.
источник
Компьютеры хорошо запоминают вещи. Компьютеры также хороши в поиске вещей, которые они запомнили ранее.
Таким образом, ключевым навыком является использование компьютера в качестве расширения вашей памяти. Пишите чистый код, документируйте материалы, учитесь эффективно использовать инструменты поиска, настраивайте среду разработки так, чтобы ее можно было легко находить и т. Д.
Приятным побочным эффектом является то, что вы также упростите чтение кода другими людьми.
источник
Память важна
Сильная память - действительно один из главных талантов, которые может иметь разработчик; на самом деле, что любой может иметь. Это действительно особенная вещь, и я завидую и восхищаюсь теми, кто наделен этим. Это определенно может помочь человеку стать более сильным разработчиком, юристом, механиком или (укажите работу по выбору здесь).
Сколько должно потребоваться?
Но я не верю, что это справедливое требование требовать запоминания всех вещей. Я верю, что вы начнете фиксировать вещи в памяти как естественную часть дел. Вот почему чтение книги о языке и использование его в производственной среде - это не одно и то же. Когда вы ежедневно работаете с чем-то (некоторые называют это «практикой»), вы начнете делать некоторые вещи второй натурой.
Как и в случае с другими постерами, я считаю, что запоминание ключевых частей приложения действительно помогает. Однако я не уверен, что вкладывать средства в запоминание всего этого стоит вложений, когда вы можете воспользоваться такими функциями, как intellisense, который все чаще встречается в современных инструментах.
Как вы можете улучшить?
Я не эксперт по памяти, но некоторые считают, что вы действительно можете улучшить память с помощью умственных упражнений, таких как игры в мозг (кроссворды, судоку, головоломки и т. Д.). Теория состоит в том, что ваш мозг подобен мышце, и если вы используете его по-разному и тренируете, вы можете укрепить его.
Было бы интересно увидеть исследования того, как такие вещи, как игры в мозг, программирование и интерактивные действия, влияют на мозг с течением времени. Могут ли такие вещи помочь в борьбе с потерей памяти, вызванной возрастом или слабоумием?
источник
Откуда я родом, есть старая поговорка, которая звучит примерно так по-английски: «Дурак запоминает, умный человек записывает». В принципе, не важно, насколько хороша ваша память, вы забудете . Вы только человек. И это, как следствие, делает опору на человеческую память ... ну, ненадежной. Даже если вы думаете, что помните эти имена таблиц, можете ли вы быть уверены на 100%? Вам нужно всего несколько секунд, чтобы найти имена таблиц, но вам могут понадобиться часы или даже дни, чтобы отследить ошибки, вызванные ошибкой в написании.
В заключение, нет, это нелепое требование, особенно для крупных проектов, которые могут иметь тысячи таблиц и классов.
источник
Если это то, над чем вы работаете, и это долгосрочное задание, тогда да, вы должны работать над обучением и иметь возможность запоминать различные имена таблиц и столбцов, классы, переменные и методы. Это то, что придет через время, когда вы будете работать с ними. Вы не будете изучать их все в одночасье, но вы должны стремиться узнать как можно больше о системе, над которой вы работаете. Кроме того, в большой системе невозможно запомнить все, но нет причин не учиться и запоминать как можно больше.
Необходимость все время искать - это просто удар по производительности - если вы работаете над задачей и вам приходится останавливаться и искать вещи каждые несколько минут, это перерыв в концентрации. Используйте соответствующие инструменты, чтобы помочь вам, и узнать / запомнить то, что вы можете. Это значительно улучшит вашу производительность.
источник
Есть ли смысл запоминать точные имена классов? Я так не думаю.
Есть ли смысл знать, какие термины использует ваш проект в именах классов, чтобы вы могли искать их быстрее? Определенно.
источник
Я не согласен с тем, что вы должны запомнить имена таблиц, но их должно быть легко угадать. Чтобы было легко догадаться, будьте последовательны. Таким образом, вы не будете спрашивать себя: «Хм… таблица foo множественное число или единственное число? Идентификатор первичного ключа или RID или FooRID?»
источник
Я не знаю, как вы могли бы запросить базу данных в любое время, не узнав имена основных таблиц и критических имен столбцов (но, конечно, не все). Я знаю, что люди, которые знают это без необходимости каждый раз разбираться в этом, становятся более ценными для организации и становятся людьми, идущими на попятную, когда другие застряли.
Я нахожу, что часто, когда люди не начинают изучать этот материал, они делают ошибки в запросах, не осознавая этого. Ошибки, которые я часто замечаю сразу же в обзорах кода, потому что я действительно понимаю структуру нашей базы данных и то, как таблицы связаны друг с другом и каковы важные бизнес-правила без необходимости их поиска.
Лично я нахожу, что люди, которые не удосуживаются изучить структуру, часто остаются на начальном уровне в запросах к этой конкретной базе данных. Они также, как правило, не переживают увольнений. Я думаю, что ваш босс пытается оказать вам услугу, чтобы заставить вас уделять больше внимания.
источник
Больше, чем сильная память, та, которая очень помогает, - это дизайн, управляемый доменом, и следование простым соглашениям, таким как имена таблиц и классов, которые должны быть одинаковыми. Если владелец вашего бизнеса говорит с вами о требовании, в коде должны быть указаны термины, относящиеся к конкретному домену. В этом случае нам не нужно запоминать соответствия между бизнес-терминами и именами в коде. Эта привычка требует некоторого времени, чтобы овладеть ею, но она очень полезна, поскольку она также уменьшает количество ошибок перевода между владельцами бизнеса и разработчиками.
Наряду с этим, если длительность проекта очень велика, освоение кодовой базы в течение определенного периода времени подсознательно поможет памяти.
источник
domain driven design
?