Многие объяснения уже присутствуют, чтобы объяснить, как это происходит и как это исправить, но вы также должны следовать рекомендациям, чтобы избежать NullPointerException
вообще.
См. также: A хороший список лучших практик
Я бы добавил, очень важно, хорошо использовать модификатор final
. Использование "окончательной" модификатор, когда это применимо в Java
Сводка:
final
для обеспечения хорошей инициализации. @NotNull
и @Nullable
if("knownObject".equals(unknownObject)
valueOf()
поверх toString (). StringUtils
StringUtils.isEmpty(null)
. Гладкие Гаджеты Редактирования имеют хороший отчет, ломающий его строками кода, пробелом и комментариями. Плагин является свободным и относительно маленьким.
Извините, если это не прямой ответ, но в эти дни я очень предпочитаю использовать метрические инструменты кода или профилировщиков, а не строки кода. Профилировщик муравьев и NDepend - два, которые сразу приходят на ум.
Это просто, что эти инструменты позволяют Вам получать реальное схватывание на размере/сложности Вашего программного обеспечения, строки кода очень примитивная метрика.
Я использую этот сценарий Python:
import os, sys
total_count = 0
for root, dirs, filenames in os.walk(sys.argv[1]):
dirs[:] = [ # prune search path
dir for dir in dirs
if dir.lower() not in ('.svn', 'excludefrombuild')]
for filename in filenames:
if os.path.splitext(filename)[1].lower() in ('.cpp', '.h'):
fullname = os.path.join(root, filename)
count = 0
for line in open(fullname): count += 1
total_count += count
print count, fullname
print total_count
Вы могли использовать, находят и туалет от этого относительно небольшого пакета, http://unxutils.sourceforge.net/
Как
find . -name *.cs -exec wc -l {} \;
Или, если у Вас есть машина Linux, удобная, можно смонтировать диск и сделать это как этот, и это даст Вам приблизительное значение. Можно усложнить для удаления комментариев и т.д. Но, учитывая, что Вы просто хотите приблизительное значение, не должно быть необходимым.
не уверенный, если это работает в VS08..., кодируют проект
Я также использовал этот простой C#, сделанный инструментом.
http://richnewman.wordpress.com/2007/07/09/c-visual-basic-and-c-net-line-count-utility-version-2/
Пакет StodioTools от Exact Magic (бесплатный) показывает Executable LoC среди других показателей. Это дополнительный модуль к VisualStudio 2008.
Если у вас есть Visual Studio 2008 Team Developer или Team Suite edition, вы можете получить их напрямую в Visual Studio, используя метрики кода .