программирование

Как правильно посылать данные через сокет

Dmitry Vasiliev 14:47, 2009 3 12

Мало сказать, что я удивлен, обнаружив, что подавляющее большинство примеров по функции/методу send() не проверяют ее возвращаемое значение. Например, в документации Python написано, что метод send() возвращает количество реально посланных байтов, но при этом ни один пример это не проверяет. В итоге, новоиспеченные сетевые программисты копируют эти примеры и потом удивляются почему их приложения не всегда работают правильно.

Comments All comments

Comment by slav0nic on 20:01, 2009 3 13

slav0nic's Gravatar

имхо не всегда важно дошла инфа до клиента или нет
хотя конечно вы правы, что это не есть true)

Comment by Dmitry Vasiliev on 22:53, 2009 3 14

Dmitry Vasiliev's Gravatar

Я думаю, что одна из основных вещей отличающих профессиональный код от "студенческого" - это как-раз проверка ошибок. Причем она обычно может занимать большую часть кода. В итоге, что бы не быть "студентом", лучше всегда возвращаемые значения проверять. :-)

Comment by goodguy on 23:14, 2009 3 14

goodguy's Gravatar

О! А меня обычно мучают сомнения, когда вокруг маленького вызова метода горожу кучу проверок да ещё и перестраховываюсь от исключений (в PHP вообще весело, никогда не знаешь, получишь ли просто False или Exception в случае ошибки :) )

Comment by Dmitry Vasiliev on 23:36, 2009 3 14

Dmitry Vasiliev's Gravatar

Это правильно и, кстати, согласуется с принципами "защитного программирования" и соотв. делает твой код лучше - http://en.wikipedia.org/wiki/Defensive_programming

Comment by bialix on 13:34, 2009 3 16

bialix's Gravatar

Как говорится, +1 к защитному программированию.

Add comment

Name:
Email: (Never will be published.)
Web site:
Comment: (Paragraphs divided by empty lines, line breaks and links will be automatically formatted.)