Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / WinForms, .Net Framework Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 [3] 4   вперед  Ctrl      все
 Re: Заголовочные файлы и С#  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 22644
Petro123
skyANA
пропущено...
Покликай правой кнопкой мыши и посмотри комбинации клавиш.

Алексей К, тебе ответил.
Обозреватель структуры WPF появился в 2015upd3. Почти тоже самое но не то есть в WinForms.
Даже в ворде Это есть )))))

?
2 окт 17, 11:30    [20835783]     Ответить | Цитировать Сообщить модератору
 Re: Заголовочные файлы и С#  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 29750
skyANA
?

Word меню, 5 режимов просмотра документа.
Аналогия понятна?
У нас только один.
2 окт 17, 11:47    [20835847]     Ответить | Цитировать Сообщить модератору
 Re: Заголовочные файлы и С#  [new]
Addx
Member

Откуда:
Сообщений: 559
skyANA
Алексей К,

вот как понятнее, так:
public class AutoIndentWriter : IStringTemplateWriter
{
    protected int charPosition;

или так:
/// <summary>
/// Essentially a char filter that knows how to auto-indent output
/// by maintaining a stack of indent levels. I set a flag upon newline
/// and then next nonwhitespace char resets flag and spits out indention.
/// The indent stack is a stack of strings so we can repeat original indent
/// not just the same number of columns (don't have to worry about tabs vs spaces then).
/// 
/// Anchors are char positions (tabs won't work) that indicate where all
/// future wraps should justify to. The wrap position is actually the
/// larger of either the last anchor or the indentation level.
/// 
/// This is a filter on a Writer.
/// 
/// It may be screwed up for '\r' '\n' on PC's.
/// </summary>
public class AutoIndentWriter : IStringTemplateWriter
{
    /// <summary>
    /// Track char position in the line (later we can think about tabs).
    /// Indexed from 0. We want to keep <![CDATA[charPosition <= lineWidth]]>.
    /// This is the position we are *about* to write not the position last written to.
    /// </summary>
    protected int charPosition;

?


Встает вопрос.
Если вы не можете написать краткий, но исчерпывающий комментарий о том, что делает код, а не как написан, в состоянии ли вы написать сам такой код? Понимаете ли вы, зачем он нужен, логику создания данного класса, его методов и свойств?
А так в комментарий еще можно написать свои размышления на эту тему, где и зачем его использовали, ну и пару анекдотов, чтоб не скучно было ))
2 окт 17, 12:02    [20835918]     Ответить | Цитировать Сообщить модератору
 Re: Заголовочные файлы и С#  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 1462
Petro123
Вы с позиции начальства говорите), а я с позиции программиста).
Код в коде должен быть понятен программисту, а не вам)).
Есть вилка максималистов. На соседней ветке чел весь код увешал комметами. И есть те, кто вообще не ставит. Я посередине)
Разумная достаточность. (С)
Про обозреваемость кода:
- кто при открытии кода лезет не в файл, а в обозреватель классов?
- почему ide не группирует вместе public/private?
- почему по умолчанию новый метод она ставит internal?


группа "Звери"
2 окт 17, 13:10    [20836141]     Ответить | Цитировать Сообщить модератору
 Re: Заголовочные файлы и С#  [new]
Arm79
Member

Откуда: МО, Раменское
Сообщений: 3339
hVostt
Потом при сборке генерится документация и выкладываеся в вики автоматом

Чем генерируете? Я пробовал SandCastle, но его выходной формат мне не понравился. Разбираться с настройкой своего формата не захотелось.
Petro123
У меня методы размер с экран и треть отдать под описание что я делал?

А что, сворачивание не работает?
2 окт 17, 13:54    [20836316]     Ответить | Цитировать Сообщить модератору
 Re: Заголовочные файлы и С#  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 29750
Arm79,
Работает, но хочется большего.
Целиком на документ Свернуть грёбаные комменты и показать только при клике мышкой.
Я 95 проц.времени код пишу, а не комменты читаю.
При свёрт и развёрт они вместе с кодом мешаются.
А в своём коде мне 1 строки достаточно.
Память не дырявая.
2 окт 17, 14:19    [20836404]     Ответить | Цитировать Сообщить модератору
 Re: Заголовочные файлы и С#  [new]
schi
Member

Откуда: Москва
Сообщений: 2225
"люди, отказывающиеся писать комментарии, A) думают, что их код понятнее, чем мог бы быть, B) считают, что другие программисты гораздо сильнее интересуются их кодом, чем есть на самом деле, C) думают, что другие программисты умнее, чем есть на самом деле, D) ленятся или E) боятся, что кто-то другой узнает, как работает их код."

(МакКоннелл)
2 окт 17, 14:42    [20836459]     Ответить | Цитировать Сообщить модератору
 Re: Заголовочные файлы и С#  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 29750
Arm79,
Кроме того подпроцедуры только появились?
Т.е. она у меня используется только один раз, а выглядит как полноценный коммент).
"Скажет перфекционист" )))
2 окт 17, 14:46    [20836473]     Ответить | Цитировать Сообщить модератору
 Re: Заголовочные файлы и С#  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 29750
schi,
D) ленивый ))
2 окт 17, 14:47    [20836475]     Ответить | Цитировать Сообщить модератору
 Re: Заголовочные файлы и С#  [new]
Arm79
Member

Откуда: МО, Раменское
Сообщений: 3339
Petro123
Arm79,
Работает, но хочется большего.
Целиком на документ Свернуть грёбаные комменты и показать только при клике мышкой.
Я 95 проц.времени код пишу, а не комменты читаю.
При свёрт и развёрт они вместе с кодом мешаются.
А в своём коде мне 1 строки достаточно.
Память не дырявая.

Я с вами не соглашусь. Подход vHostt правильный. В summary писать необходимое описание, включая описание параметров, примеры вызовов и иные моменты. Да, видимость кода может это и понизит (хотя по мне это незначительный фактор, ведь всегда можно свернуть, и свертывание сохраняется), зато всегда можно снегерировать актуальную документацию. Этот момент разработчики упускают. А поддержка доки в актуальном состоянии в ручном режиме - это очень трудная задача.
2 окт 17, 15:17    [20836569]     Ответить | Цитировать Сообщить модератору
 Re: Заголовочные файлы и С#  [new]
hVostt
Member

Откуда:
Сообщений: 11399
Arm79
Чем генерируете? Я пробовал SandCastle, но его выходной формат мне не понравился. Разбираться с настройкой своего формата не захотелось.


Собственный самописный генератор. Чёт тухловато на просторах на эту тему. SandCastle загнулся, остальное поделки так себе, даже DocFX фигня.
2 окт 17, 15:50    [20836669]     Ответить | Цитировать Сообщить модератору
 Re: Заголовочные файлы и С#  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 29750
Arm79
хотя по мне это незначительный фактор, ведь всегда можно свернуть, и свертывание сохраняется

И всё? Это решение вопроса?
Попробуйте C+M,P и потом C+M, L.
Главное чтобы вам потом документацию и акт подписывать.
Не нужно решать проблемы тонера в принтере и документации за счёт программиста.
2 окт 17, 15:54    [20836681]     Ответить | Цитировать Сообщить модератору
 Re: Заголовочные файлы и С#  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 29750
Arm79,
Свертываемость кода должна быть независимой от комментов не только прицелом мышки.
Тогда всем будет хорошо.
2 окт 17, 15:57    [20836695]     Ответить | Цитировать Сообщить модератору
 Re: Заголовочные файлы и С#  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 22644
Addx
skyANA
Алексей К,

вот как понятнее, так:
public class AutoIndentWriter : IStringTemplateWriter
{
    protected int charPosition;


или так:
/// <summary>
/// Essentially a char filter that knows how to auto-indent output
/// by maintaining a stack of indent levels. I set a flag upon newline
/// and then next nonwhitespace char resets flag and spits out indention.
/// The indent stack is a stack of strings so we can repeat original indent
/// not just the same number of columns (don't have to worry about tabs vs spaces then).
/// 
/// Anchors are char positions (tabs won't work) that indicate where all
/// future wraps should justify to. The wrap position is actually the
/// larger of either the last anchor or the indentation level.
/// 
/// This is a filter on a Writer.
/// 
/// It may be screwed up for '\r' '\n' on PC's.
/// </summary>
public class AutoIndentWriter : IStringTemplateWriter
{
    /// <summary>
    /// Track char position in the line (later we can think about tabs).
    /// Indexed from 0. We want to keep <![CDATA[charPosition <= lineWidth]]>.
    /// This is the position we are *about* to write not the position last written to.
    /// </summary>
    protected int charPosition;


?


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

Могли бы и погуглить AutoIndentWriter.
Неужели зайдя на страницу по ссылке у Вас складывается впечатление, что информация избыточна?
2 окт 17, 20:33    [20837329]     Ответить | Цитировать Сообщить модератору
 Re: Заголовочные файлы и С#  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 22644
schi
"люди, отказывающиеся писать комментарии, A) думают, что их код понятнее, чем мог бы быть, B) считают, что другие программисты гораздо сильнее интересуются их кодом, чем есть на самом деле, C) думают, что другие программисты умнее, чем есть на самом деле, D) ленятся или E) боятся, что кто-то другой узнает, как работает их код."

(МакКоннелл)

+1
2 окт 17, 20:34    [20837335]     Ответить | Цитировать Сообщить модератору
 Re: Заголовочные файлы и С#  [new]
hVostt
Member

Откуда:
Сообщений: 11399
skyANA
schi
"люди, отказывающиеся писать комментарии, A) думают, что их код понятнее, чем мог бы быть, B) считают, что другие программисты гораздо сильнее интересуются их кодом, чем есть на самом деле, C) думают, что другие программисты умнее, чем есть на самом деле, D) ленятся или E) боятся, что кто-то другой узнает, как работает их код."

(МакКоннелл)

+1


F) сами нихрена не понимают что должен делать их код и как его правильно использовать, поэтому ничего написать внятного не в состоянии

а потом смеются над картинками про комментарии типа «это мост», ведь это им так близко
3 окт 17, 13:25    [20838801]     Ответить | Цитировать Сообщить модератору
 Re: Заголовочные файлы и С#  [new]
Addx
Member

Откуда:
Сообщений: 559
skyANA
Addx
пропущено...


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

Могли бы и погуглить AutoIndentWriter.
Неужели зайдя на страницу по ссылке у Вас складывается впечатление, что информация избыточна?


Нет, конечно.
Я бы и от пары анекдотов не отказался)
Если серьезно, то чем больше документации, тем лучше, но требовать писать ее для каждого метода ...
Либо ты будешь заниматься только этим вместо разработки, либо сроки вырастут в несколько раз.
Чудес не бывает.
Впрочем, есть понятие публичной документации. Но у меня то же MSDN никак не проассоциируется с "комментариями к коду".
3 окт 17, 16:41    [20839551]     Ответить | Цитировать Сообщить модератору
 Re: Заголовочные файлы и С#  [new]
hVostt
Member

Откуда:
Сообщений: 11399
Addx
Если серьезно, то чем больше документации, тем лучше, но требовать писать ее для каждого метода ...


Для каждого публичного метода, представляющего контракт. Также есть <inheritdoc />, который снижает болевой порог у людей, которым лень описывать одно и тоже.
3 окт 17, 17:41    [20839808]     Ответить | Цитировать Сообщить модератору
 Re: Заголовочные файлы и С#  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 22644
Addx
Если серьезно, то чем больше документации, тем лучше, но требовать писать ее для каждого метода ...

А я требовал?
Вроде как я задал вопрос: "И в чём же маразм, если комментарии действительно полезные?". И привёл кусок кода для иллюстрации.
3 окт 17, 17:43    [20839817]     Ответить | Цитировать Сообщить модератору
 Re: Заголовочные файлы и С#  [new]
hVostt
Member

Откуда:
Сообщений: 11399
Addx
Либо ты будешь заниматься только этим вместо разработки, либо сроки вырастут в несколько раз.
Чудес не бывает.


Без всякой демагогии скажу, что это абсолютная неправда. Создаешь новый публичный тип, сразу пишешь к нему доку, это помогает не только для сопровождения, но и для разработки, когда формируешь свои мысли текстом, организуешь сам процесс в голове. Можешь отвлечься и вернуться к коду, не копаясь в памяти, или тут же передать реализацию другому человеку, это очень хорошо связано с TDD, который тоже ругают «гении от мысли» :)
3 окт 17, 17:43    [20839818]     Ответить | Цитировать Сообщить модератору
 Re: Заголовочные файлы и С#  [new]
hVostt
Member

Откуда:
Сообщений: 11399
Addx,

Уже второй год покрываем код докой, и никакой просадки по срокам из-за комментариев не замечено. Зато замечено, что количество тупой коммуникации по типу «а для чего вот этот класс?? а для чего этот метод?? а где найти работу вот с этим??» снизилось практически до нуля. Бывает, что достаточно сказать название типа или метода, и этого достаточно, всё остальное там написано в комментах. Также выяснилось, что очень удобно искать код по русским комментариям, так иногда можно забыть название типа, свойства или метода, особенно если не ты его писал.
3 окт 17, 17:46    [20839829]     Ответить | Цитировать Сообщить модератору
 Re: Заголовочные файлы и С#  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 29750
hVostt,
Еще есть технический писатель и кондишен.
Это снижает болевой порог и повышает ПРОИЗВОДИТЕЛЬНОСТЬ труда.
Счас актуальна эффективность).
3 окт 17, 17:48    [20839839]     Ответить | Цитировать Сообщить модератору
 Re: Заголовочные файлы и С#  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 29750
hVostt
Создаешь новый публичный тип, сразу пишешь к нему доку,

А также Руководство пользователя, и юнит тесты.
3 окт 17, 17:51    [20839853]     Ответить | Цитировать Сообщить модератору
 Re: Заголовочные файлы и С#  [new]
hVostt
Member

Откуда:
Сообщений: 11399
Petro123
hVostt,
Еще есть технический писатель и кондишен.
Это снижает болевой порог и повышает ПРОИЗВОДИТЕЛЬНОСТЬ труда.
Счас актуальна эффективность).


Ну есть тех. писатель, но у него много другой работы :)
3 окт 17, 17:57    [20839889]     Ответить | Цитировать Сообщить модератору
 Re: Заголовочные файлы и С#  [new]
hVostt
Member

Откуда:
Сообщений: 11399
Petro123
hVostt
Создаешь новый публичный тип, сразу пишешь к нему доку,

А также Руководство пользователя, и юнит тесты.


Руководство пользователя, это не к разработчикам :)
Тем более, мы стараемся писать такие системы, где пользователю будет предложено выполнить его задачи при входе, без талмуда, зайди туда, щёлкни сюда, ещё раз щёлкни, «провались» и т.д. Такого нет :)
3 окт 17, 17:59    [20839892]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 [3] 4   вперед  Ctrl      все
Все форумы / WinForms, .Net Framework Ответить