|
|
|
оторвать руки
|
|||
|---|---|---|---|
|
#18+
просто яя както спрашивал у ведущих архитекторов на фирме, мол, Макконел пишет что как правило методы в 150 строк содержат меньше ошибок, на что мне ответили что они ему не верят и что они верят своему опыту и 150 строк - статистика оторванная от жизни...какая статистика от жизни не оторвана, архитекторы случайно не уточнили? по их опыту. а менеджер? обосновал-ли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2008, 22:00 |
|
||
|
оторвать руки
|
|||
|---|---|---|---|
|
#18+
Да просто человек (похоже) так буквально и задал вопрос: "метод из 150 строк содержит больше ошибок чем из 50 строк". И они по-видимому буквально и поняли. Смысл этой фразы в том что суммарный код приложения разбитый на более мелкие методы . Догадаться ж можно было. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2008, 23:10 |
|
||
|
оторвать руки
|
|||
|---|---|---|---|
|
#18+
Нет, задал я все правильно, и поняли они все правильно, сказли чем меньше метод - тем лучше как правило, даже 1 строку кода нужно методом менять, если его имя отразит выполняемое им действие. Лично я с этим огласен, и, кажется, Макконел тоже про это писал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2008, 11:39 |
|
||
|
оторвать руки
|
|||
|---|---|---|---|
|
#18+
а вот такая вам задачка: есть большой код (90 строк), выполняющийся рекурсивно, но на первой итерации он ощутимо мутирует (примерно на 40%) по сравнению с остальными итерациями. И что с ним делать? 1) Слить в один метод и обвешать ифами, которые будут везде проверять, первая это итерация или нет, весьма проблематично, т.к. последующие итерации возвращают значение иного типа, нежели первая. 2) Разбить на два метода, скопипастить весь код и поддерживать его в синхронизированном состоянии? Выделение методов также проблематично, т.к. функции микроменеджмента сильно связаны с локальными переменными исходной функции да и смысл им дать затруднительно. Даже если получится выделить пять-шесть функций микроменеджмента – всё равно получится, что одну-две строки заменили на вызов одной функции, что очень слабо упрощает поддержание кода в синхронизированном состоянии и очень сильно усложняет жизнь с целым ворохом новых маленьких функций непонятного назначения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2008, 12:09 |
|
||
|
оторвать руки
|
|||
|---|---|---|---|
|
#18+
maXmoа вот такая вам задачка: есть большой код (90 строк), выполняющийся рекурсивно, но на первой итерации он ощутимо мутирует (примерно на 40%) по сравнению с остальными итерациями. И что с ним делать? Замыкания? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2008, 12:19 |
|
||
|
оторвать руки
|
|||
|---|---|---|---|
|
#18+
вот не знаю, не нравится мне, когда вызываемая функция (неявно) меняет много локальных переменных вызывающей, отдаёт дурным запашком глобальных переменных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2008, 12:30 |
|
||
|
оторвать руки
|
|||
|---|---|---|---|
|
#18+
да и замыкание рассчитано на объявление тела в той же функции, где оно будет использоваться, а тут две функции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2008, 12:37 |
|
||
|
оторвать руки
|
|||
|---|---|---|---|
|
#18+
maXmoда и замыкание рассчитано на объявление тела в той же функции, где оно будет использоваться, а тут две функции. Функци(ю/и) покажете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2008, 12:41 |
|
||
|
оторвать руки
|
|||
|---|---|---|---|
|
#18+
Это 235 строк на С. Шока не будет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2008, 12:45 |
|
||
|
оторвать руки
|
|||
|---|---|---|---|
|
#18+
maXmoЭто 235 строк на С. Шока не будет? Ааа, там C... Тогда нет, спасибо, не стоит :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2008, 12:50 |
|
||
|
оторвать руки
|
|||
|---|---|---|---|
|
#18+
Хотя если подумать это всего 26 строк кода, нуждающегося в элементарном копипасте с единственным дубликатом, в принципе там больше синхронизировать нечего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2008, 13:10 |
|
||
|
оторвать руки
|
|||
|---|---|---|---|
|
#18+
maXmoХотя если подумать это всего 26 строк кода, нуждающегося в элементарном копипасте с единственным дубликатом, в принципе там больше синхронизировать нечего. В некоторый языках как раз для этого используют "инклюды". Думаю, что и на Си, так можно сделать. Какая препроцессору разница - это заголовок или выполняемый код? И получите "один код" в двух разных местах, в разном контексте. Главное - не улекаться таким способом, а то можно будет костей не собрать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.05.2008, 18:46 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=35288056&tid=1345304]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
169ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
| others: | 236ms |
| total: | 505ms |

| 0 / 0 |
