раскрыть ветку (15)
раскрыть ветку (13)
Тогда не советую браться за JavaScript. Python - один из самых строгих языков с динамической типизацией на моей памяти, хотя бы выдает ошибки при операциях над различными типами в отличие от JS.
раскрыть ветку (1)
раскрыть ветку (10)
для начинающих программистов уж точно проще. динамическое выделение и освобождение памяти. код на много компактней. некоторое вещи, для которых на си надо чуть ли не модуль писать, в питоне займут несколько строк, если не одну.
раскрыть ветку (9)
раскрыть ветку (8)
скорей всего из-за того, что очень редко пишу на питоне. если часто буду на нем писать и как следует его выучу, то мнение возможно изменится. А пока, очень не удобно читать чужой код. смотрю на параметров функции и думаю "б**ть что-же она принимает ... число, список какой-нибудь, экземпляр класса или еще что" приходится заходить в функцию и смотреть её код. так же и с возвращаемыми значеними
раскрыть ветку (7)
раскрыть ветку (6)
раскрыть ветку (5)
Нет. Обычно делают так: """ Этот модуль делает хорошо. У него есть 2 функции. sdelayHorosho(ploho) эта функция делает хорошо, в качестве параметра принимает число, строку или словарь. sdelayZBS(ploho, number) функция делает збс объекту который передается первым параметром и может быть любым итерируемым объектом, параметр number - число которое показывает количество итераций збс."""
И вот такой текст помещенный в самое начало модуля, позволит не открывая его узнать все о функциях. Дотянуться до строк документирования можно через __doc__ . То же касается и каждой функции в отдельности.
И вот такой текст помещенный в самое начало модуля, позволит не открывая его узнать все о функциях. Дотянуться до строк документирования можно через __doc__ . То же касается и каждой функции в отдельности.
раскрыть ветку (4)
Я вижу, что название переменной (number) несет в себе тип, вместо семантики (iterCount). Для статической типизации это было бы заложено в прототипы функций:
getHappiness(int badObj);
getHappiness(string badObj);
getHappiness(map<int, string> badObj);
doPerfect(Iterable badObj, int &iterCount);
getHappiness(int badObj);
getHappiness(string badObj);
getHappiness(map<int, string> badObj);
doPerfect(Iterable badObj, int &iterCount);
раскрыть ветку (3)
И к чему это было написано? Я привел пример, рассказал о способе использовать строки документации, что б не приходилось лезть в вики или на форумы, спрашивая, что делает ф-ция и за что отвечает каждый аргумент.
раскрыть ветку (2)