изучение C++ от исходного кода библиотеки повышения

Чтобы изменить размер Fab и увидеть большое изображение, я сделал ниже изменения в Android API 28: - The как в

    <android.support.design.widget.FloatingActionButton
    android:id="@+id/profile_imageview"
    android:layout_width="@dimen/design_fab_size_mini"
    android:layout_height="@dimen/design_fab_size_mini"
    android:layout_marginTop="10dp"
    android:src="@drawable/pin_check"
    app:borderWidth="0dp"
    app:elevation="0dp"
    app:maxImageSize="90dp" />

, где в измерениях. XML

<dimen name="design_fab_size_mini" tools:override="true">90dp</dimen>
<dimen name="design_fab_content_size" tools:override="true">58dp</dimen>
5
задан mjv 15 October 2009 в 02:24
поделиться

6 ответов

Поскольку вы упомянули, что хотите изучить темное искусство метапрограммирование, тогда я бы порекомендовал "Современный дизайн C ++" Андрея Александреску.

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

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

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

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

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

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

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

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

13
ответ дан 18 December 2019 в 05:14
поделиться

Если вы начинаете с C ++, исходный код boost, вероятно, не лучшее место. Здесь тусуются волшебники, занимающиеся магией шаблонов. Я думаю, что лучше начать с книг Скотта Майерса и Херба Саттерса (именно в таком порядке).

Некоторые версии книги Скотта могут быть немного устаревшими, но они все еще сильны в основе. Книги Херба стоит читать много раз, и они являются бесценным инструментом. После того, как вы ознакомитесь с обоими авторами, самое время заняться улучшением исходного кода.

15
ответ дан 18 December 2019 в 05:14
поделиться

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

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

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

1271] Начните с малого, двигайтесь вверх.

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

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

1271] Начните с малого, двигайтесь вверх.

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

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

1271] Начните с малого, двигайтесь вверх.

14
ответ дан 18 December 2019 в 05:14
поделиться

Я полагаю, что boost использует множество расширенных функций C ++, таких как создание шаблонов и т. Д. Библиотеки Boost, как правило, очень сложные, поскольку они пытаются следовать строгим стандартам программирования и стилям, чтобы они были совместимы с такими вещами, как STL.

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

8
ответ дан 18 December 2019 в 05:14
поделиться

Да, в некоторых библиотеках ускорения есть поистине ужасные вещи. Если вы хотите прочитать очень хороший исходный код, попробуйте ознакомиться с WebKit или некоторыми проектами с открытым исходным кодом Google (такими как Chrome или Protobufs).

1
ответ дан 18 December 2019 в 05:14
поделиться

Я предлагаю вам начать с чего-нибудь вроде «Премьеры» Липмана (другие книги для начинающих по своему вкусу). Затем, когда вы освоитесь с кодом, вы можете перейти к Хербу Саттеру, Alexandresku, чтобы расширить свой кругозор, получить более полное представление о soft dev. И САМОЕ ГЛАВНОЕ - чтобы хорошо уступить, нужно МНОГОЕ кодировать, так как это такой же навык, как и любой другой, и для его овладения требуется практика.

PS> Если вы уверены, вы можете сразу же подобрать Страуструпа вместе с другими книга (и). Я не думаю, что есть еще один источник на C ++, столь же полный, как авторы.

0
ответ дан 18 December 2019 в 05:14
поделиться
Другие вопросы по тегам:

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