Представлено без комментариев:
ссылка (Github.com)
|
4 июня 2013, 1:30:20 PM | # 1 |
Сообщения: 924
цитировать ответ |
Re: Bitcoin исходный код гигантский беспорядок
Взлом Биткоин адресов.
500 Биткоинов взломаны в "мозговом кошельке" с паролем "bitcoin is awesome" Адрес кошелька: 14NWDXkQwcGN1Pd9fboL8npVynD5SfyJAE Приватный ключ: 5J64pq77XjeacCezwmAr2V1s7snvvJkuAz8sENxw7xCkikceV6e подробнее... Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru |
4 июня 2013, 1:33:09 PM | # 2 |
Сообщения: 1862
цитировать ответ |
Re: Bitcoin исходный код гигантский беспорядок
Получил 1806 Биткоинов
Реальная история. Я думаю, что это будет очень сильно зависеть от конкретного контекста - хотя я не закодирован "идти к" я с 1980-х годов я сделал работу на какой-C кода с огромным * случай * заявления в 90-х годах, где он может реально сделать какой-то смысл (в целом это не очень хорошая идея с C ++ из-за проблем обработки исключений).
Обычно единственная причина, чтобы использовать такую конструкцию была бы "пропускать" на * конце * большой блок кода (и, конечно, вы всегда можете использовать * BREAK * внутри цикл, чтобы сделать то же самое). Ни в коем случае это * Гото * подробнее "эффективный для компилятора" хотя (и это не очень хорошо для глаз человека как никто не буду * * ожидать даже * см * а Готы в эти дни), так что в отношении вашей цитаты я должен был бы согласиться, что не внушает много уверенности в себе. |
4 июня 2013, 1:36:00 PM | # 3 |
Сообщения: 714
цитировать ответ |
Re: Bitcoin исходный код гигантский беспорядок
Гэвин сказал, что гений не лежит в кодовой базе, но в алгоритмах и что код дерьмо. Я согласен с этой оценкой. Там есть несколько переработаны версии доступны, которые также могут быть использованы для альта монет, но у меня нет под рукой ссылки прямо сейчас. Я думал о рефакторинга кода сам. Все боятся ломать его, так как это, кажется, работает, и что является разумным в такой степени, но с другой стороны, этот базовый код совершенно непригодны для серьезной работы.
|
4 июня 2013, 1:38:10 PM | # 4 |
Сообщения: 2058
цитировать ответ |
Re: Bitcoin исходный код гигантский беспорядок
Можем ли мы иметь некоторый контекст, как он был использован?
Также: котировка В то время как общее использование GOTOS снижается, все еще существуют ситуации, в некоторых языках, где Гото обеспечивает самый короткий и самый простой способ выразить логику программы (в то время как это можно выразить ту же логику без GOTOS, эквивалентный код будет длиннее и часто более трудно понять). Эти ситуации включают: перерывы многоуровневых, распределение ресурсов / открепление, обработку ошибок в языке C, вычисленные Готы в перле [15] [16]. |
4 июня 2013, 1:42:22 PM | # 5 |
Сообщения: 924
цитировать ответ |
Re: Bitcoin исходный код гигантский беспорядок
Можем ли мы иметь некоторый контекст, как он был использован? Да я обновил оригинальный пост, чтобы включить ссылку. ...Эти ситуации включают: перерывы многоуровневых, распределение ресурсов / открепление, обработку ошибок в языке C, вычисленные Готы в перле. В этом случае обработка его ошибка на языке C (хотя Bitcoin написан на C ++). Все боятся ломать его, так как это, кажется, работает, и что является разумным в такой степени, но с другой стороны, этот базовый код совершенно непригодны для серьезной работы. Ага. Год назад я пришел сюда, и я хотел бы работать на Bitcoin. Почистите его немного, уменьшить внешнюю зависимость, и т.д ... но я был иронией. Теперь я делаю ту же работу в Ripple, и это приветствуется. Для Bitcoin кода для улучшения первых людей, работающих на нем должны признать, что существует растущая проблема, а затем совершить ее решения. Даже если это просто немного в то время, или, например, убедившись в том, что новый код сканируется (добавление RAII утилиты, где это необходимо, например), это может помочь переломить спагеттификацию. |
4 июня 2013, 1:43:10 PM | # 6 |
Сообщения: 1862
цитировать ответ |
Re: Bitcoin исходный код гигантский беспорядок
Угу - только что проверил ссылка на источник - обработки ошибок.
Ну в моем коде, вы бы видели что-то вроде этого: Код: если (! PKey ||! группа ||! pub_key ||! priv_key) бросить runtime_error ( "нет ключей или групп найдены" ); BTW - Я ненавижу термин RAII (хотя он застрял) - я утверждал года назад на comp.lang.c ++ модерируется назвать идиомы. "объекты области видимости", |
4 июня 2013, 1:44:28 PM | # 7 |
Сообщения: 924
цитировать ответ |
Re: Bitcoin исходный код гигантский беспорядок
Ну в моем коде, вы бы видели что-то вроде этого: Код: если (! PKey ||! группа ||! pub_key ||! priv_key) бросить runtime_error ( "нет ключей или групп найдены" ); Да, я согласен, я не вижу, как это полезно вернуть ошибку в данном случае. Вы хотите, чтобы программа, чтобы остановить. Я серьезно сомневаюсь, что Bitcoin написано решительно во всем обрабатывать из условий памяти. |
4 июня 2013, 1:46:09 PM | # 8 |
Сообщения: 1862
цитировать ответ |
Re: Bitcoin исходный код гигантский беспорядок
Я серьезно сомневаюсь, что Bitcoin написано решительно во всем обрабатывать из условий памяти. Вообще-то я сомневаюсь, что есть много C ++ код там вообще (за исключением, возможно, уровень коды ОС), которая действительно может обрабатывать из условий памяти хорошо (для начала вы не можете бросить зЬй :: runtime_error как нуждается в зОм :: строка, которая будет выделена). |
4 июня 2013, 1:47:04 PM | # 9 |
Сообщения: 924
цитировать ответ |
Re: Bitcoin исходный код гигантский беспорядок
...Я сомневаюсь, что есть много кода, там на все, что может реально справиться из условий памяти хорошо (для начала вы не можете бросить зЬй :: runtime_error как нуждается в зЬй :: строку, которая будет выделена). Это выполнимо, но это должно быть дизайнерским критерии с самого начала. |
4 июня 2013, 1:48:25 PM | # 10 |
Сообщения: 518
цитировать ответ |
Re: Bitcoin исходный код гигантский беспорядок
Вы сотрудник OpenCoin / в настоящее время нанятый OpenCoin?
|
4 июня 2013, 1:48:38 PM | # 11 |
Сообщения: 1862
цитировать ответ |
Re: Bitcoin исходный код гигантский беспорядок
Это выполнимо, но это должно быть дизайнерским критерии с самого начала. На самом деле - я сделал это с базой данных объектов я создал (строковые буфера ошибок предварительно выделены до экземпляра ODB даже создан) - это немного сложнее, хотя, как вы в конечном итоге с помощью "нестандартный" исключения (хотя вы можете сделать это достаточно подобно станд :: исключение, чтобы быть полезным). |
4 июня 2013, 1:52:20 PM | # 12 |
Сообщения: 924
цитировать ответ |
Re: Bitcoin исходный код гигантский беспорядок
Вы сотрудник OpenCoin / в настоящее время нанятый OpenCoin? нет |
4 июня 2013, 2:12:19 PM | # 13 |
Сообщения: 200
цитировать ответ |
Re: Bitcoin исходный код гигантский беспорядок
"Гото эээ" это не имеет большого значения, на мой взгляд.
Биткойн-QT, путаница по совершенно разным причинам. 1. Порядок байтов не очень хорошо документированы. libbitcoin переворачивает несколько байт, где BitcoinQT не делает, но и не документировать, почему они делают это. 2. Чрезмерное использование подклассов и операторов C ++ делает его трудно читать код. Вы видите << б, но на самом деле идет в очень конкретном месте, которое не является совершенно очевидно, где. 3. Некоторые имена утилита класса выглядят имена переменных. 4. Некоторые забавные шаблоны проектирования не документированы даже с одной строки текста. Например. CBigNum ловко сделано (BN_CTX и BIGNUM завернуты в классах по-разному), но вы должны быть действительно профессионалом в C ++ или тратить полдня расшифровку кода, чтобы понять, почему это делается таким образом. Для кого-то из наступающих C / Objective-C это не так просто. Я работаю на Mac бумажник приложении и переопределение много вещей, которые BitcoinQT делает в C и ObjC и узнать, как работает, что все дело. Это умное, но это грязно. |
4 июня 2013, 2:15:31 PM | # 14 |
Сообщения: 1862
цитировать ответ |
Re: Bitcoin исходный код гигантский беспорядок
2. Чрезмерное использование подклассов и операторов C ++ делает его трудно читать код. Вы видите << б, но на самом деле идет в очень конкретном месте, которое не является совершенно очевидно, где. операторы Streaming << а также >> всегда был стандартный способ выполнения ввода / вывода в C ++, так вы говорите, эти операторы используются для чего-то * кроме потокового *? |
4 июня 2013, 2:28:10 PM | # 15 |
Сообщения: 1778
цитировать ответ |
Re: Bitcoin исходный код гигантский беспорядок
Кодирование в C и никогда не используя Гото, это как вождение автомобиля и никогда не использует свою последнюю передачу. Безопасный для бедных водителей ...
|
4 июня 2013, 2:33:45 PM | # 16 |
Сообщения: 1862
цитировать ответ |
Re: Bitcoin исходный код гигантский беспорядок
Кодирование в C и никогда не используя Гото, это как вождение автомобиля и никогда не использует свою последнюю передачу. Безопасный для бедных водителей ... Bitcoin написана на C ++ (который не является даже близко к C как любой C ++ программист знает). |
4 июня 2013, 2:35:17 PM | # 17 |
Сообщения: 1778
цитировать ответ |
Re: Bitcoin исходный код гигантский беспорядок
Кодирование в C и никогда не используя Гото, это как вождение автомобиля и никогда не использует свою последнюю передачу. Безопасный для бедных водителей ... Bitcoin написана на C ++ (который не является даже близко к C как любой C ++ программист знает). |
4 июня 2013, 2:36:50 PM | # 18 |
Сообщения: 616
цитировать ответ |
Re: Bitcoin исходный код гигантский беспорядок
Тот факт, что Гото был использован плохо не делает его плохим инструментом: это отличный инструмент, если вы точно знаете, когда использовать или не использовать его.
Противоположные это только потому, что кто-то не обучен или достаточно умен, чтобы правильно его использовать это dumbing вниз, что делает многое гораздо больше вреда, чем пользы. |
4 июня 2013, 2:39:22 PM | # 19 |
Сообщения: 1862
цитировать ответ |
Re: Bitcoin исходный код гигантский беспорядок
В самом деле? Ну, тогда я был неправ всю свою жизнь, полагая, что C ++ был обратно совместим с C ... Вы ошибаетесь - C ++ * не * обратная совместимость с C * только близко, насколько это возможно *. |
4 июня 2013, 3:08:16 PM | # 20 |
Сообщения: 1778
цитировать ответ |
Re: Bitcoin исходный код гигантский беспорядок
В самом деле? Ну, тогда я был неправ всю свою жизнь, полагая, что C ++ был обратно совместим с C ... Вы ошибаетесь - C ++ * не * обратная совместимость с C * только близко, насколько это возможно *. |