Re: Объявление глобальных переменных в c.

2006-05-10 Пенетрантность Покотиленко Костик
Ребята, Вы, мне кажется, о вкусах спорите. Си он тем и отличается, что одну задачу можно решить большим количеством "правильных" способов. А вот у кого какой стиль это уже вещь интимная. Кстати, я всегда удивляюсь, на что способен программер, когда его за живое заденут :). Так ещё пару недель и эт

Re: Объявление глобальных переменных в c.

2006-05-10 Пенетрантность Mikhail Gusarov
You ([EMAIL PROTECTED]) wrote: ПК> Ребята, Вы, мне кажется, о вкусах спорите. Си он тем и ПК> отличается, что одну задачу можно решить большим количеством ПК> "правильных" способов. А вот у кого какой стиль это уже вещь ПК> интимная. Обсуждение уже шло по поводу правильности предлагаемых спо

Re: Объявление глобальных переменных в c.

2006-05-06 Пенетрантность Anton Petrusevich
On Saturday 06 May 2006 18:54, Mikhail Gusarov wrote: > А вот кто сказал: > -- > > Ровно до тех пор, пока в конструкторе MainServerConfig не захочется > > что-нибудь залогировать; или наоборот -- пока конструктор логгера на > > зах

Re: Объявление глобальных переменных в c.

2006-05-06 Пенетрантность Mikhail Gusarov
You ([EMAIL PROTECTED]) wrote: >> которые ещё не уяснили, что в данном месте имеется нехорошая >> зависимость от порядка инициализации глобальных переменных, AP> А? Кто сказал что есть? Помимо конструкторов бывает ещё метод AP> Init, который мы ручками зовём в нужном порядке. А вот кто сказ

Re: Объявление глобальных переменных в c.

2006-05-06 Пенетрантность Anton Petrusevich
On Saturday 06 May 2006 17:27, Mikhail Gusarov wrote: > И годами поддерживать это решение, постоянно давая по рукам новым > членам команды, Ох, давайте не будем про "новых членов команды", с "мозгами" бы разобраться... :) > которые ещё не уяснили, что в данном месте имеется > нехорошая зависим

Re: Объявление глобальных переменных в c.

2006-05-06 Пенетрантность Anton Petrusevich
On Saturday 06 May 2006 17:21, Mikhail Gusarov wrote: > AP> Проблему диких указателей это не решает :( > Зато это решение следует принципу минимума привилегй (по-моему ещё > Дейтел его сформулировал, ссылку дать не могу), а также принципу > разделения интерфейсов (Robert Martin, > http://www.objec

Re: Объявление глобальных переменных в c.

2006-05-06 Пенетрантность Mikhail Gusarov
You ([EMAIL PROTECTED]) wrote: AP> Ну что за "сферические кони в вакууме"? Это, к сожалению, горькая истина. AP> Ничто не мешает сделать их всех правильно, чтобы конструкторы все AP> отработали как надо, и в момент чтения/перечитывания конфига AP> сказать логеру новую конфигурацию. И годам

Re: Объявление глобальных переменных в c.

2006-05-06 Пенетрантность Anton Petrusevich
On Saturday 06 May 2006 12:43, Alex Grigorovich wrote: > > Второй пример, приходящий в голову -- конфиг программы. Лежит объект > > MainServerConfig в области глобальных переменных, и вся программа > > знает что и как сконфигурировано. > Ровно до тех пор, пока в конструкторе MainServerConfig не

Re: Объявление глобальных переменных в c.

2006-05-06 Пенетрантность Mikhail Gusarov
You ([EMAIL PROTECTED]) wrote: AP> Проблему диких указателей это не решает :( Зато это решение следует принципу минимума привилегй (по-моему ещё Дейтел его сформулировал, ссылку дать не могу), а также принципу разделения интерфейсов (Robert Martin, http://www.objectmentor.com/resources/articles

Re: Объявление глобальных переменных в c.

2006-05-06 Пенетрантность Mikhail Gusarov
You ([EMAIL PROTECTED]) wrote: AP> С этим как раз проблем нет, "дайте нам указатель, можно дикий, и AP> мы нагадим куда угодно". Проблема не писать куда писать не AP> следует -- проблема дисциплины кодирования в рамках AP> задачи. Проблему диких указателей это не решает :( Нагадить в заранее

Re: Объявление глобальных переменных в c.

2006-05-06 Пенетрантность Anton Petrusevich
On Saturday 06 May 2006 11:22, Artem Chuprina wrote: > AP> Откуда данные у функции? Где-то должен храниться указатель на > AP> структуру данных для неё? > Да. Только он static в пределах того файла, и кто попало в него писать > не может. С этим как раз проблем нет, "дайте нам указатель, можно д

Re: Объявление глобальных переменных в c.

2006-05-06 Пенетрантность Artem Chuprina
Anton Petrusevich -> debian-russian@lists.debian.org @ Sat, 6 May 2006 11:00:21 +0200: >> В принципе, вообще в таких случаях стараются сделать именно функцию, >> которая возвращает нужное значение (указатель на объект, если надо). AP> Откуда данные у функции? Где-то должен храниться указател

Re: Объявление глобальных переменных в c.

2006-05-06 Пенетрантность Anton Petrusevich
On Saturday 06 May 2006 07:34, Artem Chuprina wrote: > Авторов юникса, видимо, тоже напрягало. Поэтому есть _функция_ syslog. Это камень в сторону ведения лога или организации программы? Если по организации программы, то откуда _функция_ возьмёт дескрипторы/имена файлов логов? Сохранит в статич

Re: Объявление глобальных переменных в c.

2006-05-05 Пенетрантность Stanislav Maslovski
On 05/05/06, Wladimir Krawtschunowsi <[EMAIL PROTECTED]> wrote: Доброго времени суток! Извеняюсь за оффтоп, но больше спросить негде. Проблема в следующем: Один кусок программы пишется в файле client.c Для коммуникации в локальной сети к нему посредством #include "network.h" привязывается биб

Re: Объявление глобальных переменных в c.

2006-05-05 Пенетрантность Artem Chuprina
Anton Petrusevich -> debian-russian@lists.debian.org @ Fri, 5 May 2006 23:00:57 +0200: >> Но вообще так делать без КРАЙНЕЙ необходимости не рекомендуется. Разве >> что у тебя эта переменная - константа. AP> Это ещё почему? "КРАЙНЯЯ" необходимость может быть продиктована AP> просто некоторы

Re: Объявление глобальных переменных в c.

2006-05-05 Пенетрантность Anton Petrusevich
On Friday 05 May 2006 23:20, Wladimir Krawtschunowsi wrote: > Ну здесь в принципе вопрос в здравом смысле. Чем меньше этих > переменных будет, тем лучше. Особенно если это не константа, и какая-то > функция догадается её поменять не сговариваясь с осталными, то ошибку > потом можно искать годами...

Re: Объявление глобальных переменных в c.

2006-05-05 Пенетрантность Anton Petrusevich
On Friday 05 May 2006 15:21, Artem Chuprina wrote: > Но вообще так делать без КРАЙНЕЙ необходимости не рекомендуется. Разве > что у тебя эта переменная - константа. Это ещё почему? "КРАЙНЯЯ" необходимость может быть продиктована просто некоторым удобством решения конкретной задачи, мы ж не знаем

Re: Объявление глобальных переменных в c.

2006-05-05 Пенетрантность Mikhail Gusarov
You ([EMAIL PROTECTED]) wrote: WK> Переменная костанта(каламбур). Просто ещё один человек пишет WK> server и ему почему-то сильно не понравилось, когда я прописал WK> порт через define. Аргументацию я так и не понял... Может, лучше ему объяснить, что в C так *принято* делать? -- JID: [EMAI

Re: Объявление глобальных переменных в c.

2006-05-05 Пенетрантность Artem Chuprina
Wladimir Krawtschunowsi -> debian-russian@lists.debian.org @ Fri, 5 May 2006 14:31:58 +0200: WK> Доброго времени суток! WK> Извеняюсь за оффтоп, но больше спросить негде. WK> Проблема в следующем: WK> Один кусок программы пишется в файле client.c WK> Для коммуникации в локальной сети к не

Объявление глобальных переменных в c.

2006-05-05 Пенетрантность Wladimir Krawtschunowsi
Доброго времени суток! Извеняюсь за оффтоп, но больше спросить негде. Проблема в следующем: Один кусок программы пишется в файле client.c Для коммуникации в локальной сети к нему посредством #include "network.h" привязывается библиотека. В ней должна быть переменная int PORT. Если я сейчас объ