Глубоко погружаясь в [закрытый] открытый исходный код

9
задан casperOne 13 August 2012 в 01:33
поделиться

5 ответов

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

6
ответ дан 4 December 2019 в 21:49
поделиться

Я начинаю погружаться в исходный код в любое время, когда мне нужно знать: что это делает? Или почему это не работает так, как я думаю. Обычно это происходит после прочтения документации, поиска в Google и т. Д.

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

Если вы хотите знать, как работает любая структура, вы всегда должны начинать с: «Что должна делать эта структура IoC / ORM для выполнения этой функции». Я считаю, что при работе с фреймворками иногда помогает размышление изнутри.

1
ответ дан 4 December 2019 в 21:49
поделиться

Я бы сказал, что есть два сценария для этого:

  1. Когда продукт с открытым исходным кодом является частью вашего основного бизнеса (от него зависит ваша компания).
  2. Когда вы хотите начать вносить свой вклад.
2
ответ дан 4 December 2019 в 21:49
поделиться

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

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

0
ответ дан 4 December 2019 в 21:49
поделиться

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

Исключение составляют случаи, когда вы создаете что-то, где библиотека находится в сфере основной компетенции вашей компании. Если вы создаете онлайн-систему сборки, вы, вероятно, хотите слишком много знать о базовых системах сборки (Maven или что-то еще), и вам, вероятно, следует глубоко погрузиться в них, пока вы не узнаете их хорошо.

0
ответ дан 4 December 2019 в 21:49
поделиться
Другие вопросы по тегам:

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