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

Откуда:
Сообщений: 29
Интересует вопрос,а что собственно можно использовать в `C#` как альтернативу заголовочным файлам(C++).

Ведь на `C++` в отдельные файлы выносятся прототипы функций,рабочий код и тем самым создаётся читабельность огромного кода и его структурированность.

А вот как быть с `C#`?
Мной лично к сожалению не найдено явных примеров,которые бы указывали что заголовочные файлы и `C#` могут взаимодействовать.

Поиск по форуму пока не даёт результатов.
1 окт 17, 16:12    [20834613]     Ответить | Цитировать Сообщить модератору
 Re: Заголовочные файлы и С#  [new]
Изопропил
Member

Откуда:
Сообщений: 30649
otars
А вот как быть с `C#`?

так же как и в Java - никак
1 окт 17, 16:15    [20834616]     Ответить | Цитировать Сообщить модератору
 Re: Заголовочные файлы и С#  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 30363
otars,
делаем так:
- 3 раза символ /
- автоматом появится комментарий
- я лично убираю параметры что там есть и оставляю только коммент
- заполняем строку чем хотим. Хоть заголовками))
- потом при открытии файла Ctrl+M+O
и видим аналог твоих заголовочных.
ЗЫ.
Кто то делает серфинг через дерево классов, но я никак не могу привыкнуть. Только сразу в простыни кода ориентируюсь.
1 окт 17, 16:20    [20834625]     Ответить | Цитировать Сообщить модератору
 Re: Заголовочные файлы и С#  [new]
hVostt
Member

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

Заголовочные файлы в C# не нужны, так как скомпилированные сборки содержат всю информацию о типах внутри.

Заголовочные файлы в C++ нужны не для того, чтобы создавать читабельность и структуированность. Если не смогли освоить С++, то не надо пытаться сравнивать его с другими языками.

Начните с бейсика для начала.
1 окт 17, 20:03    [20834845]     Ответить | Цитировать Сообщить модератору
 Re: Заголовочные файлы и С#  [new]
hVostt
Member

Откуда:
Сообщений: 11786
Petro123
- я лично убираю параметры что там есть и оставляю только коммент


Огромное упущение.


Petro123
- потом при открытии файла Ctrl+M+O


Это прекрасно работает и без комментариев.


Petro123
Кто то делает серфинг через дерево классов, но я никак не могу привыкнуть. Только сразу в простыни кода ориентируюсь.


Мы пишем полную документацию к коду, описываем также все параметры и возврат, делаем короткое и полное описание, вставляем примеры в комментарии, также описываем возможные исключения. Потом при сборке генерится документация и выкладываеся в вики автоматом. 100% покрытие кода (публичного) документацией — обязательное железное требование. Ещё ни разу не пожалели об этом. Колоссальный профит при командной разработке. Рекомендую.
1 окт 17, 20:07    [20834851]     Ответить | Цитировать Сообщить модератору
 Re: Заголовочные файлы и С#  [new]
Petro123
Member

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

Ты же за них )))
hVostt
Мы пишем полную документацию к коду,

Документация отдельная песня. Её делают при коробочных продуктах. Я писал об обозреваемости простыни кода.
-----
"Сложнее всего в мире достигнуть простоты. Это крайняя граница опыта, и последнее усилие гения"
Г.Санд.
1 окт 17, 21:40    [20834933]     Ответить | Цитировать Сообщить модератору
 Re: Заголовочные файлы и С#  [new]
hVostt
Member

Откуда:
Сообщений: 11786
Petro123
Документация отдельная песня. Её делают при коробочных продуктах. Я писал об обозреваемости простыни кода.


Какая разница какой там продукт, коробочный или нет?
1 окт 17, 21:45    [20834940]     Ответить | Цитировать Сообщить модератору
 Re: Заголовочные файлы и С#  [new]
Petro123
Member

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

- в коробочном тебе приказано описывать параметры в 30 строк перед каждым методом
- в не коробочном это решается в самой фирме корпоративными правилами.
Нафига мне описывать параметр в
SetParameters(Stream stream)
DataSet GetDataSet(......
Вопрос риторический.
1 окт 17, 22:44    [20834984]     Ответить | Цитировать Сообщить модератору
 Re: Заголовочные файлы и С#  [new]
hVostt
Member

Откуда:
Сообщений: 11786
Petro123
Вопрос риторический.


Вопрос ни разу не риторический. Чтобы понять, что конкретно твой GetDataSet делает, мне надо подробно изучить код этого метода. Понять, надо ли обрабатывать какие-то исключения, может ли он возвратить мне null, в каких условиях его можно использовать, как и когда его надо вызывать, а когда нельзя.

Ээх..
2 окт 17, 02:50    [20835188]     Ответить | Цитировать Сообщить модератору
 Re: Заголовочные файлы и С#  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 22808
Petro123
hVostt
Какая разница какой там продукт, коробочный или нет?

- в коробочном тебе приказано описывать параметры в 30 строк перед каждым методом
- в не коробочном это решается в самой фирме корпоративными правилами.
Нафига мне описывать параметр в
SetParameters(Stream stream)
DataSet GetDataSet(......
Вопрос риторический.

И вот открываешь код, написанный в 2010-м году тем, кто уже не работает в компании, и вспоминаешь его добрым словом
2 окт 17, 07:09    [20835221]     Ответить | Цитировать Сообщить модератору
 Re: Заголовочные файлы и С#  [new]
Алексей К
Member

Откуда: Новосибирск
Сообщений: 13552
otars
Ведь на `C++` в отдельные файлы выносятся прототипы функций,рабочий код и тем самым создаётся читабельность огромного кода и его структурированность.
И хвала авторам C# за то, что не стали тянуть этот маразм из C++.
2 окт 17, 07:25    [20835237]     Ответить | Цитировать Сообщить модератору
 Re: Заголовочные файлы и С#  [new]
Алексей К
Member

Откуда: Новосибирск
Сообщений: 13552
hVostt
100% покрытие кода (публичного) документацией — обязательное железное требование.
public class Person
{
    // Фамилия.  <<---------- Кому нужен такой комментарий? Он только засоряет код.
    public string LastName;
}

Хорошему коду комментарии не нужны. Плохому коду комментарии вряд ли помогут.
+ Показательный пример: "Это мост".
Картинка с другого сайта.
2 окт 17, 07:32    [20835241]     Ответить | Цитировать Сообщить модератору
 Re: Заголовочные файлы и С#  [new]
Алексей К
Member

Откуда: Новосибирск
Сообщений: 13552
Petro123
Нафига мне описывать параметр в
SetParameters(Stream stream)
DataSet GetDataSet(......
++
2 окт 17, 07:36    [20835246]     Ответить | Цитировать Сообщить модератору
 Re: Заголовочные файлы и С#  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 30363
Вы с позиции начальства говорите), а я с позиции программиста).
Код в коде должен быть понятен программисту, а не вам)).
Есть вилка максималистов. На соседней ветке чел весь код увешал комметами. И есть те, кто вообще не ставит. Я посередине)
Разумная достаточность. (С)
Про обозреваемость кода:
- кто при открытии кода лезет не в файл, а в обозреватель классов?
- почему ide не группирует вместе public/private?
- почему по умолчанию новый метод она ставит internal?
2 окт 17, 07:39    [20835249]     Ответить | Цитировать Сообщить модератору
 Re: Заголовочные файлы и С#  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 30363
Алексей К
otars
Ведь на `C++` в отдельные файлы выносятся прототипы функций,рабочий код и тем самым создаётся читабельность огромного кода и его структурированность.
И хвала авторам C# за то, что не стали тянуть этот маразм из C++.

Эти файлы вроде есть кстати, только генерируются и не видны. Выскакивают на F12 иногда.
2 окт 17, 07:41    [20835250]     Ответить | Цитировать Сообщить модератору
 Re: Заголовочные файлы и С#  [new]
Petro123
Member

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

Чаще достают оттуда короткие переменные, чтобы код понять.
2 окт 17, 07:43    [20835251]     Ответить | Цитировать Сообщить модератору
 Re: Заголовочные файлы и С#  [new]
hVostt
Member

Откуда:
Сообщений: 11786
Алексей К
Хорошему коду комментарии не нужны.


Подобный инфантильный бред устал уже слышать.
Ну давай посмотрим на твой «хороший код»:

public class Person
{
    // Фамилия.  <<---------- Кому нужен такой комментарий? Он только засоряет код.
    public string LastName;
}


Ты прав, такой комментарий никому не нужен, потому что он не отвечает ни на один из следующих вопросов:

— на каком языке эта фамилия?
— на каких языках может быть эта фамилия?
— может ли вместо фамилии присутствовать только первая буква, если нет, то где можно определить инициалы?
— где участвует это поле?
— может ли оно быть пустым?
— можно ли менять это поле напрямую где угодно? на что это влияет?

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

Ладно, если с фамилией действительно всё может быть понятно, настолько часто она встречается, то как быть с другими частями? Всё ли настолько прозрачно или просто программист возомнил, что он пишет «хороший код». Главное никому его не показывать
2 окт 17, 08:24    [20835279]     Ответить | Цитировать Сообщить модератору
 Re: Заголовочные файлы и С#  [new]
hVostt
Member

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

Ну и поле вместо свойства.. Уже как бы намекает насколько этот код «хорош» ))
2 окт 17, 08:25    [20835281]     Ответить | Цитировать Сообщить модератору
 Re: Заголовочные файлы и С#  [new]
Алексей К
Member

Откуда: Новосибирск
Сообщений: 13552
Petro123
Алексей К
пропущено...
И хвала авторам C# за то, что не стали тянуть этот маразм из C++.

Эти файлы вроде есть кстати, только генерируются и не видны. Выскакивают на F12 иногда.
Генерируются по данным рефлекшена. Тут главное, что вручную их писать не надо.
2 окт 17, 08:39    [20835296]     Ответить | Цитировать Сообщить модератору
 Re: Заголовочные файлы и С#  [new]
Алексей К
Member

Откуда: Новосибирск
Сообщений: 13552
hVostt
Ладно, если с фамилией действительно всё может быть понятно, настолько часто она встречается, то как быть с другими частями? Всё ли настолько прозрачно или просто программист возомнил, что он пишет «хороший код». Главное никому его не показывать
Я не говорю, что комментарии вообще не нужны. Они нужны, если есть какие-то неочевидные особенности. Но писать комментарии во всех очевидных местах, это маразм.
2 окт 17, 08:42    [20835298]     Ответить | Цитировать Сообщить модератору
 Re: Заголовочные файлы и С#  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 22808
Алексей К
hVostt
Ладно, если с фамилией действительно всё может быть понятно, настолько часто она встречается, то как быть с другими частями? Всё ли настолько прозрачно или просто программист возомнил, что он пишет «хороший код». Главное никому его не показывать
Я не говорю, что комментарии вообще не нужны. Они нужны, если есть какие-то неочевидные особенности. Но писать комментарии во всех очевидных местах, это маразм.

И в чём же маразм, если комментарии действительно полезные? :)
2 окт 17, 08:46    [20835303]     Ответить | Цитировать Сообщить модератору
 Re: Заголовочные файлы и С#  [new]
Алексей К
Member

Откуда: Новосибирск
Сообщений: 13552
hVostt
Ну и поле вместо свойства.. Уже как бы намекает насколько этот код «хорош» ))
Это говорит о том, что автор знает, где нужно применять свойства, а где нет, вместо тупого написания свойств везде.

зы: Мне немного жаль "твоих" программистов. :-)
2 окт 17, 08:47    [20835305]     Ответить | Цитировать Сообщить модератору
 Re: Заголовочные файлы и С#  [new]
Алексей К
Member

Откуда: Новосибирск
Сообщений: 13552
skyANA
Алексей К
пропущено...
Я не говорю, что комментарии вообще не нужны. Они нужны, если есть какие-то неочевидные особенности. Но писать комментарии во всех очевидных местах, это маразм.

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

Откуда:
Сообщений: 11786
Алексей К
Это говорит о том, что автор знает, где нужно применять свойства, а где нет, вместо тупого написания свойств везде.

зы: Мне немного жаль "твоих" программистов. :-)


Может пояснишь? Я свою позицию легко могу пояснить: свойства поддерживаются как контракт всеми современными библиотеками, поля нет, не всеми, потому что поля это не контракт. Свойства можно сделать виртуальными, сделать private/internal set, с полями не получится.

Использовать поля только приватными членами или только в структурах, это не религия, а обоснованное решение, с которым солидарно абсолютное большинство разработчиков.
2 окт 17, 08:51    [20835312]     Ответить | Цитировать Сообщить модератору
 Re: Заголовочные файлы и С#  [new]
hVostt
Member

Откуда:
Сообщений: 11786
Алексей К
Я не говорю, что комментарии вообще не нужны. Они нужны, если есть какие-то неочевидные особенности. Но писать комментарии во всех очевидных местах, это маразм.


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