|
Хаваете ли вы плохие стандарты программирования?
|
|||
---|---|---|---|
#18+
Что вы делаете если в фирме (в проекте), где вы работаете, приняты плохие с вашей точки зрения стандарты кодирования, которых вам, как хорошему программисту, не хочется придерживаться? 1. Прогибаюсь под фирму и послушно вписываюсь в её традицию (пусть даже и плохую). 2. Спрашиваю у технического начальника разрешение на внедрение новшества. 3. Внедряю новшество сам; если возникают проблемы - пробую защитить свою правоту, если не выходит - прогибаюсь (заменяю на традиционное для фирмы решение). 4. Что-то ещё? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.02.2011, 20:07 |
|
Хаваете ли вы плохие стандарты программирования?
|
|||
---|---|---|---|
#18+
Миш, а чего это вдруг Вы просами занялись? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.02.2011, 23:31 |
|
Хаваете ли вы плохие стандарты программирования?
|
|||
---|---|---|---|
#18+
95% того что обычно описывается в стандарте кодирования - это субъективные вещи, необходимость которых каждым программистом воспринимаются по разному. Если вы предложите свой вариант стандарта, то эти 95% никуда не денутся, просто перегруппируются, чтобы вам было удобнее за счет других. Я бы на вашем месте для начала разбил все проблемы в текущем стандарте на две части: 1) концептуальные ошибки, 2) неудобство применения (лично вам, те самые 95%). Доказывать и менять что-то имеет смысл только в отношении п.1, потому что п.2 - субъективен и тут вы никому ничего не докажете. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.02.2011, 08:49 |
|
Хаваете ли вы плохие стандарты программирования?
|
|||
---|---|---|---|
#18+
IkarМиш, а чего это вдруг Вы просами занялись?Чем-чем я занялся? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.02.2011, 23:24 |
|
Хаваете ли вы плохие стандарты программирования?
|
|||
---|---|---|---|
#18+
Ursego, Сорри, опчечатка. О просами :) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2011, 21:25 |
|
Хаваете ли вы плохие стандарты программирования?
|
|||
---|---|---|---|
#18+
Да просто в последнее время пришлось изрядно позаниматься инспекцией кода - вот всякие мысли и лезут. Вот, даже сформулировал многие из них в виде "пособия по боевому ПауэрБилдеру": http://www.zuskin.com/pb_code.htm - хотя вряд-ли это кому-то надо, всё равно почти все будут писАть акынским методом - "что вижу, то и пою". ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2011, 23:48 |
|
Хаваете ли вы плохие стандарты программирования?
|
|||
---|---|---|---|
#18+
Ursego, Ну, на сколько я понял твое "пособие" с моим незнанием аглицкого (собстно по коду примеров понял в основном ), то я примерно так и пишу в большинстве случаев. Но вот, к примеру, с тем, что объекты не надо дестроить, а отдать это все сборущику мусора на откуп - с этим я не согласен. тут все зависит от ситуации. Если в скрипте пара-тройка объектов создается, используется и скрипт заканчивает свою работу - да, можно не уничтожать. А если объект(ы) создается и используется в цикле, то тут поневоле будешь его уничтожать, да еще и GarbageCollect() вызовешь, на всякий пожарный. А вообще я предпочитаю всегда делать так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32.
... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2011, 08:56 |
|
Хаваете ли вы плохие стандарты программирования?
|
|||
---|---|---|---|
#18+
IkarUrsego, Ну, на сколько я понял твое "пособие" с моим незнанием аглицкого (собстно по коду примеров понял в основном ), то я примерно так и пишу в большинстве случаев.Дык мы в модераторах абы кого и не держим-с! :-) Насчёт дестроев - конечно, надо смотреть по ситуации. Честно говоря, не помню делал ли я когда-нибудь create в цикле (кроме тестирования) - но, конечно, в этой ситуации лучше сразу убивать, чем накапливать в памяти. Ну, а если хочешь иметь в функции несколько return-ов, перед которыми если б не гарбич коллектор, то надо было бы каждый раз писАть несколько дестроев, то лучше положиться на сборщик мусора. Я слыхал краем уха, что гарбич коллектор в 8 билдере несовершенен, но мы пару недель назад тестировали как раз на восьмёрке (вызывали мессидж бокс из датасторовского destructor-а чтоб видеть момент смерти объекта) - в чём это несовершенство - так и осталось тайной. Возможно, кто-то увидел в виндовсовском менеджере задач, что если создать в цикле тыщу датасторов (и не уничтожать в коде), то память, занимаемая ПауэрБилдером, разбухает, а обратно не сжимается - но это не значит, что гарбич коллектор не уничтожил созданные объекты! Он свою работу делает, и внутри участка памяти, выделенной виндовсом билдеру, память освобождается и готова быть использованной снова, просто сам этот участок не уменьшается (если памяти в компе в избытке) - чтоб если понадобится в следующий раз, не делать аллокейт заново, а использивать то, что уже выделено. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2011, 03:56 |
|
Хаваете ли вы плохие стандарты программирования?
|
|||
---|---|---|---|
#18+
UrsegoДык мы в модераторах абы кого и не держим-с! :-)Спасибо! :) Хотя на звание гуру по РВ я бы более чем с половиной участников тут тягаться бы и не пытался ;) По поводу создания/разрушения в цикле - простой пример, с которым мне пришлось в свое время столкнуться на 6.5-м РВ еще (в котором TRY небыло), это создание кучи экселевских отчетов. Тормозило это все нещадно. Если падало, то приходилось рестартовать машину. Потом на 8-й РВ перевели продукт, чутка переписали код с использованием TRY и ребутиться уже не приходилось, хотя падало еще приложение. А потом таки вычитали в хелпе GarbageCollect, поставили его апосля дестроев и стряслось локальное чудо - продукт перестал дико жрать память и падать. Детали точнее уде не вспомню - давно это было :) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2011, 08:13 |
|
|
start [/forum/topic.php?fid=15&msg=37137185&tid=1335777]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
76ms |
get topic data: |
10ms |
get forum data: |
5ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
others: | 11ms |
total: | 194ms |
0 / 0 |