отличная память требование для большого [закрытого] программирования

Для понимания цикла и списка:

x = [['A', 'B', 'C'],
[100, 90, 80],
[88, 99, 111],
[45, 56, 67],
[59, 61, 67],
[73, 79, 83],
[89, 97, 101]]
dict1={}

for i,k in  enumerate( x[0]):
    dict1[k]=[x1[i] for x1 in x[1:]]
print(dict1)
#{'A': [100, 88, 45, 59, 73, 89], 'B': [90, 99, 56, 61, 79, 97], 'C': [80, 111, 67, 67, 83, 101]}
33
задан codergurl 14 November 2013 в 21:40
поделиться

24 ответа

Конечно, apocrapful, но вот номер Einstein:

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

“Certainly” ответил Einstein. Он забрал телефонный каталог и искал его номер телефона, затем записал это на листке бумаги и вручил его генератору отчетов.

Ошеломленный, сказанный генератор отчетов, "Вы считаетесь самым умным человеком в мире и Вы не можете помнить свой собственный номер телефона? ”

Einstein ответил, “Why, я должен запомнить что-то, когда я знаю, где найти его? ”

48
ответ дан 27 November 2019 в 17:21
поделиться

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

1
ответ дан 27 November 2019 в 17:21
поделиться

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

самая важная вещь помнит, где можно найти ответы. Я буду иногда вести блог по темам, которые немного более сложны, таким образом, у меня есть место для нахождения их, когда мне нужны они. Но я не пытаюсь держать на них постоянно, потому что я могу искать свой собственный блог и найти их позже. Я делаю то же с блогами других людей, и я знаю который блоги совершить нападки для определенных типов ответов.

, Когда все остальное перестало работать, Google это!

1
ответ дан 27 November 2019 в 17:21
поделиться

Я думаю, что это зависит. Память для программиста очень очень важна. И краткосрочный и длительный срок. Однако то, для чего Вы используете ту память, является важной вещью. Как программист, если бы Вы используете его для запоминания когда-нибудь нюанса API затем, я сказал бы, что Вы тратите впустую свою память.

В конечном счете, я пытаюсь использовать свою память для запоминания важных вещей и чего-либо, что я не могу легко найти позже. Я буду обычно помещать материал API в кратковременную память и использовать Google и intellisense для помощи мне со специфическими особенностями. Шаблоны разработки, методологии, уроки, извлеченные из опыта, с другой стороны, обычно, что я пытаюсь поместить в долгосрочную память, таким образом, я могу использовать его эффективно в будущем, не имея необходимость повторно изучать все.

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

1
ответ дан 27 November 2019 в 17:21
поделиться

Я сказал бы что его необходимое для того, чтобы быть великим и быстрым. Моя память для программирования деталей в порядке (но у меня есть Google для этого). Однако, когда я сижу перед приложениями, которые я, прежде всего, записал (строки кода на ~30-40 К), я могу загрузить его структуру почти полностью в мою память. Я могу найти способ, которым я делаю что-то через несколько секунд и вспоминаю, почему я реализовал его способ, которым я сделал. Это неоценимо. К 11:00 я смог сделать больше работы, чем некоторые другие весь день делают. Теперь, это не делает меня великим программистом, но это действительно делает меня чрезвычайно продуктивным продуктивным программистом. Это дает мне время, чтобы осуществить рефакторинг, написать дополнительный код, перемещение Так, захватить ланч часа, и т.д.

2
ответ дан 27 November 2019 в 17:21
поделиться

Я думаю, что возможно смочь, помнят различные типы вещей с отличающимися степенями способности.

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

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

Это может быть о логической ассоциации. Хорошо разработанное программное обеспечение должно (в теории), имеют логическую структуру, которая может помочь сохранить в Вашей памяти, если Ваш мозг обеспечен электричеством тот путь.

Случайная информация, однако, не может иметь этих ассоциаций, делая их тяжелее для запоминания.

2
ответ дан 27 November 2019 в 17:21
поделиться

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

2
ответ дан 27 November 2019 в 17:21
поделиться

Все это зависит от того, что помнит Ваша хорошая память..

я работал над тем же проектом в течение приблизительно 10 лет, и я не могу помнить каждую строку и кто записал это и почему.

, Но... Я могу помнить в значительной степени все пользовательские запросы и пользовательские проблемы. Кто хотел какой и когда.

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

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

Так. Обратите внимание на то, что ДЕЙСТВИТЕЛЬНО имеет значение, и помните это.

2
ответ дан 27 November 2019 в 17:21
поделиться

Бритва Оккама предполагает, что более простая теория, вероятнее, будет верна.

, Если код является теорией, описывая исходные данные, идущие в выводы, то короче кодируют, с помощью ожидаемых идиом и библиотек, более вероятно, будет "верно" - то есть, он, более вероятно, получит сущность решения, таким образом, он сделает вывод к исходным данным, которые Вы не ожидали.

Короче, не удивляя код легче помнить.

2
ответ дан 27 November 2019 в 17:21
поделиться

Я думаю, имея хорошую память, полезно для изучения новых вещей быстро .

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

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

, Который является тайной мозга.

2
ответ дан 27 November 2019 в 17:21
поделиться

Часть лучше всего записанного кода, который я когда-либо видел, была написана таким способом, которым каждое проектное решение было неизбежно, и чтение кода как его собственное объяснение. Это далеко лучше, по моему скромному мнению, чем код, который требует читатель (или, хуже, специалист по обслуживанию) сохранять тонны произвольной детали запоминаемыми.

Мой собственный индекс сложность в коде, "Сколько материала я должен иметь в виду для понимания этой строки?"

[еще 114] хуже.

2
ответ дан 27 November 2019 в 17:21
поделиться

Я думаю одно преимущество для наличия хорошей памяти (точка скромности: у Меня есть хорошая память), способность смочь думать на Ваших ногах если не на самом деле перед компьютером.

, Например, Вы могли бы быть на встрече , когда некоторый новый вид функциональности для Вашего приложения предлагается. это может быть сделано? Сколько времени это, вероятно, возьмет? Это вопросы, на которые легче ответить, можно ли в значительной степени идти через 250k местоположение в голове.

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

2
ответ дан 27 November 2019 в 17:21
поделиться

В намеке на Edsger Dijkstra компетентный программист полностью осведомлен об ограниченном размере своего черепа. Чем больше деталей Вы не переполняете в голове, тем лучше можно заняться проблемой под рукой.

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

4
ответ дан 27 November 2019 в 17:21
поделиться

Нет. Но возможно это может делать Вы большой...

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

Это искусство (поскольку я знаю это) включает вещи, любят, делят и завоевывают (использование модулей различных видов, для соответствия форме проблемы); с помощью стандартных методов для телеграфирования намерения (идиомы, OO Шаблоны разработки являются всего одним); выделение ядра проблемы (этот не о коде: это о проблеме); и конечно комментарии.

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

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

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

4
ответ дан 27 November 2019 в 17:21
поделиться

Наличие хорошей памяти довольно полезно, но конечно не требуемое. Я сказал бы, что не случается так, что у великих программистов есть отличная память, а скорее, они провели много времени, исследовав даже проблемы littlest, которые улучшили их понимание и улучшают отзыв. При пребывании в течение 4 минут, разрешая проблему (поиск с помощью Google или выяснение в ТАК) затем, Вы, вероятно, не будете помнить разрешения при ударе его снова 4 месяца по линии. IT мог быть эволюционной чертой или просто плохой памятью =)

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

Это также расширяется в другие домены. Шахматные гроссмейстеры могут вспомнить, что вся игра играла 40 лет назад. Поэтому они помнят шаблоны (открытия, изменения, первопричина и эффект перемещений, которые привели в конец игру, и т.д.). который помогает перемещениям человека группы в единицы.

программное обеспечение In, инструментам могут понравиться автоматическое заполнение или наличие КБ/Wiki, и доступная для поиска история регистрации и т.д. может помочь.

4
ответ дан 27 November 2019 в 17:21
поделиться

Мне существует два вида программистов в мире. Первые родились, чтобы сделать это, изученное второе. В обеих группах они располагаются от невероятно плохого к невероятно большому. Память обозначает те оценки? Нет, абсолютно нет. В то время как хорошая память может помочь Вам с изучением, ничто не помогает Вам больше, чем практика и понимание. В конце концов, способность помнить всю Энциклопедию Brittanica ничего не означает без понимания. Устройство хранения данных моего сервера является классическим примером там.

Программирование о логике, и в коде и как Вы приближаетесь к проблеме. Если Вы хотите ясный, легкий понять код затем, возможности, Вы повредите проблему в маленькие управляемые блоки (т.е. которые помещаются в Вашу голову в их полноте), и работа над каждым. Каждая функция затем уплотняет вниз в единственную команду для Вашего следующего этапа сложности. В конце того следующего этапа, если существует другой, у Вас будет ряд единственных команд снова для построения. Логическое именование, логическое разделение, логический блок... Я думаю, что убедительно излагаю свою точку зрения ;)

, Моя память ужасна, и я имею в виду ужасный. Я могу быть представлен 3 людям и к этому времени # 3's, имя сказано, что я забыл, кто № 1. Я могу все еще написать некоторый хороший код, не каждый раз или каждый день; когда Вы находитесь в зоне, это - что-то еще в той точке, которая это искусство. Так, поместите свою память в одну сторону, вовлеките себя или действительно тихое пространство или розовый генератор шума и погружение в. Единственной вещью это собирается сделать Вас лучшим программистом, является практика, практика, практика. Единственная вещь помнить состоит в том, что программирование является навыком, и навыки осуществлены и лучше всего осуществлены среди друзей, которые могут дать конструктивную критику и совет... как Переполнение стека :)

Извинения за уровень тома этого ответа, но я не мог помнить то, что я уже записал ;)

5
ответ дан 27 November 2019 в 17:21
поделиться

Честно, я нашел, что плохая память актив, даже плохая кратковременная память. Плохая кратковременная память действительно вынуждает Вас вспыхнуть разделение проблем. Конечный результат является очень чистым, очень простым, очень хорошо инкапсулированный код. У меня на самом деле есть довольно хорошая кратковременная память, но я учился пробовать действительно твердый не использовать ее после нескольких написаний кода событий, в то время как я был отвлечен достаточно, что я не мог действительно сохранить много сразу. Я был на самом деле потрясен заметить, что код был на самом деле намного инструментом для очистки, чем код, который я разработал, я - прошлое.

Плохая долгосрочная память является активом, потому что Вы заканчиваете обучение сами очень хорошо о том, как найти и изучить методы, API, алгоритм, и т.д. Это также имеет тенденцию поощрять Вас находить, что маленький набор общих тем ведет Вас в Вашей работе.

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

6
ответ дан 27 November 2019 в 17:21
поделиться

Я могу ответить точно на это использование всего одно слово: НЕТ. Наличие отличной памяти для запоминания всех о программировании не является необходимостью. События и утомительное изучение практикой являются лучшими.

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

6
ответ дан 27 November 2019 в 17:21
поделиться

Я сказал бы, что противоположное, имея хорошую память может привести к написанию кода, которое только может понять автор, потому что она помнит детали его логики. С другой стороны, я, имея плохо память, документирую свой код и пишу это максимально ясный.

14
ответ дан 27 November 2019 в 17:21
поделиться

У меня есть этот коллега, который пишет действительно плохой код, который невероятно трудно поддержать. Я пришел к выводу, что его проблемой является хорошая память. Он просто может помнить, куда он поместил что функциональность. Поэтому он не должен писать код, который очевиден. Он просто помнит то дерьмо. Остальной части нас действительно нелегко выяснять его код.

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

16
ответ дан 27 November 2019 в 17:21
поделиться

Пока можно помнить, как Google записывается, Вы в порядке. :)

, Но серьезно, действительно необходимо сохранить несколько вещей в yoru кратковременной памяти сразу. Долгосрочная память, я думаю менее важный. Пока Вы знаете, что что-то существует, Вы видели что-то прежде, и т.д. затем, когда станет важно, что Вы будете знать, что можно вскопать его.

Опытные программисты могут обычно извергать API, незначительные детали и т.д, но по моему опыту это имеет никогда случай присаживания и запоминания вещей наизусть. Это - естественное следствие использования вещей снова и снова.

16
ответ дан 27 November 2019 в 17:21
поделиться

Рассматривайте свою кратковременную память как стек (не статичный) и не ожидайте намного больше от него. Я возвратился для кодирования этого, я записал только месяц назад, и почти как кто-то еще записал это.. это просто требует времени для возвращения в той же зоне.

меня дразнят, часто для того, чтобы оставить комментарии для меня как навигационные цепочки.. но это работает. Если я заканчиваю некоторую функцию и говорю "АГА, который является АБСОЛЮТНО БЛЕСТЯЩИМ!", комментирую я сразу свою сложность, поскольку я, несомненно, забуду.

Поэтому теперь, для ответа на вопрос с двумя вопросами:

  1. , Что Вы имели на ланч в прошлую среду?
  2. , Какова цель для 'счетчика' в hash_foo ()?

, По крайней мере, с № 2, можно быстро возвратиться и посмотреть / помнят.

19
ответ дан 27 November 2019 в 17:21
поделиться

Нет. Способность забыть о том, что Вы знаете и продолжаете учиться, по крайней мере одинаково важна в долгосрочной перспективе.

Хорошие примечания и закладки и веб-поиски имеют большое значение.

Запоминание действительно простых вещей требуется для большого программирования. Вещи, столь же простые как ", сохраняют в нем".

интересная перспектива с другой стороны Вашего монитора: Местность Ссылки

3
ответ дан 27 November 2019 в 17:21
поделиться

Just a simple comment "Repetition is the mother of learning", it doesn't matter if you have a good/bad memory. The function you use more in your programs you will remember the best. Also, in my case, i have the internet, when i don't remenber something i just ask, even if it is a bumd or easy question, and a lot of times I remember the answer after I post the question and then I quickly post the answer. The problem is how much time you put your mind to work....

:)

1
ответ дан 27 November 2019 в 17:21
поделиться
Другие вопросы по тегам:

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