OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Четверг, 28 Март, 2024 12:55

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
СообщениеДобавлено: Понедельник, 04 Март, 2013 21:19 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
http://habrahabr.ru/post/170443/

Цитата:
Visual Studio нам помогает, но она также толкает нас к написанию (или не написанию) кода специфическим путём. Среда направляет нас.
Делает ли это нас более продуктивными? Я даже не знаю как измерить продуктивность разработчика, так что я не могу дать ответ. Учимся ли мы, когда программируем таким способом? Я бы сказал – не особо.
Несмотря на то, что Visual Studio, во многом, является впечатляющим и весьма полезным программным обеспечением, меня беспокоит то, что я очень зависим от неё. Чтобы изучить новые методики, я пытаюсь следить за тем, что происходит вне .NET\Microsoft экосистемы. ...
Однако, я чувствую себя скованным из-за моей зависимости от Visual Studio. Я хочу изучать и использовать множество других технологий, как и .NET, так что я совсем не ищу инструментов, которые будут усиливать мои узы с Visual Studio. Использование простой обыкновенной Visual Studio [без продвинутых средств типа ReSharper] – наименьшее, что я могу сделать для расширения своих горизонтов.


Цитата:
Основным аргументом «за» инструменты повышения производительности является то, что их использование делает вас более эффективным программистом. «Без ReSharper моя производительность падает на 50%, я удивлён, что вы можете справлять без него». Это очень интересное утверждение. А как вы вообще измеряете производительность?
Во имя аргументации, давайте на минуту сделаем вид, что производительность программиста измеряется количеством написанных строк кода. Существует довольно распространённый миф о том, что профессиональный программист пишет всего 10 строк кода в день. Возможно, это не правда, но даже если так, то какое количество строк в день вы пишете в среднем? 100? 200? Действительно ли вы собираетесь утверждать, что узкое горлышко вашей производительности определяется тем, как быстро вы можете печатать? Серьёзно? Тогда учитесь печатать быстрее.
Положим, что большую часть времени, код читают, а не пишут. Код должен быть оптимизирован для чтения, а не для написания. Таким образом, производительность, если она вообще может быть измерена, должна измеряться тем как быстро программисты смогут прочитать и понять кусок кода, а не тем, как быстро этот кусок кода может быть написан.
Более того, если вы считаете, что парное программирование это хороший и эффективный способ производства программного обеспечения, то вы также должны понимать, что при парном программировании в каждый отдельно взятый момент, как минимум один человек вообще ничего не печатает.
Как разъяснил это Мартин Фаулер: «Парное программирование сокращало бы производительность наполовину, если бы самой сложной частью программирования было печатание». По моему опыту, печатание – не самая сложная часть. Таким образом, я не убеждён в том, что «инструменты повышения производительности» делают кого-то более эффективным программистом.


Цитата:
Чарльз Петцольд обратил в своей замечательной статьей внимание на то, что Visual Studio принуждает к стилю разработке снизу-вверх, что не очень вяжется с потребностями бизнеса. Visual Studio (с инструментом повышения производительности или без) делает сложной (но не невозможной) разработку «снаружи-внутрь».
Я полагаю, что помогая действовать нам строго определённым образом, инструмент закрывает для нас множество других возможностей. Мы можем даже не подозревать о том, что от нас остаётся скрытым, но если мы сможем отделаться от подобной руки помощи, то мы, возможно, сможем увидеть и другие возможности.
Я не против того, чтобы инструмент мне изредка помогал, но в остальное время я бы предпочёл принимать обоснованное решение, с учётом всей имеющейся информации самостоятельно. Я думаю, что, по крайней мере нужно понимать, что принятие помощи означает принятие решений за нас. Получается не беспроигрышная ситуация. Может быть я и получаю возможность завершить задание быстрее, но лишаюсь возможности учиться. Мало того, чем больше я полагаюсь на содействие инструмента, тем более зависимым от него я становлюсь. Для обозначения такой ситуации даже слово специальное есть. Оно звучит как «вендор-запирание» (vendor lock-in).


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 23 Сентябрь, 2016 10:40 
Аватара пользователя

Зарегистрирован: Воскресенье, 12 Апрель, 2015 18:12
Сообщения: 1134
Откуда: СССР v2.0 rc 1
Цитата:
Таким образом, производительность, если она вообще может быть измерена, должна измеряться тем как быстро программисты смогут прочитать и понять кусок кода, а не тем, как быстро этот кусок кода может быть написан.

Вот это гениальная фраза)))


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 23 Сентябрь, 2016 15:37 

Зарегистрирован: Пятница, 13 Март, 2009 16:36
Сообщения: 987
Откуда: Казань
Это было осознано еще в 1984 году:
Цитата:
"When developing or reusing software components, one is often forced to study source
code. In many cases this code contains only little or even no design information,
which makes it hard to read and understand it. This is the main reason, why software
maintenance costs dominate over all other life-cycle costs. Standish (1984), for
example, discovered, that the time needed to understand source code, causes 50 to 90
percent of the maintenance costs. Therefore high software quality, in form of readable
source code, is the best way to save time and money for new developments."

http://www.literateprogramming.com/rlp.pdf

К сожалению, сам первоисточник
Standish, T.A. 1984. An Essay on Software Reuse
не смог найти.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 23 Сентябрь, 2016 17:14 

Зарегистрирован: Пятница, 13 Март, 2015 16:40
Сообщения: 597
An Essay on Software Reuse, IEEE Transactions on Software Engineering, Vol. SE-10, No.5, pp. 494-497, (September 1984).
Журнал платный, если я не ошибаюсь.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 23 Сентябрь, 2016 17:29 

Зарегистрирован: Воскресенье, 03 Февраль, 2008 12:50
Сообщения: 249
Artyemov писал(а):
Журнал платный, если я не ошибаюсь.

Эта статья (и многие-многие другие :wink: ) есть на Sci-Hub.


Вложения:
standish1984.pdf [2.05 МБ]
Скачиваний: 390
Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 23 Сентябрь, 2016 17:42 

Зарегистрирован: Пятница, 13 Март, 2015 16:40
Сообщения: 597
Благодарствуйте.
Про Sci-hub в курсе, но он на запрос "IEEE Transactions on Software Engineering, Vol. SE-10, No.5, pp. 494-497, (September 1984)" выдал одну страничку.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 23 Сентябрь, 2016 20:53 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2935
Откуда: г. Ярославль
Цитата:
Я просто записал то, как я работаю и закачал. Я бросаю вам вызов посмотреть эту сессию от начала до конца. Это будет скучно. Вы увидите длительные периоды простоев и то как подолгу я думаю. Это на самом деле реальная картина того как я работаю.


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

Вот ещё ссылочка на пример бортжурнала.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 24 Сентябрь, 2016 09:16 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Всем большое спасибо за Стандиша.

Тема слишком умных IDE (и вообще, кстати, библиотек), наваянных слишком умными программерами, очень актуальна.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB