Лучший способ отследить и осуществить экспертные оценки перед фиксацией

Общий подход к поиску определенных файлов в папке и, возможно, во вложенных папках.

'******************************************************************
'* Find files in current folder and optionally in subfolders
'*
Option Explicit

Const ROOTFOLDER = "C:\Test"  'Change as desired
Const EXTENSION = "txt"       'Change as desired

Const FILES = "*." & EXTENSION

Dim g_FolderCount As Integer
Dim g_FileCount As Integer
'**********************************
'* Test code only
'*
Sub Test()
    Dim Path As String

    g_FileCount = 0
    g_FolderCount = 0
    Path = ROOTFOLDER
    GetSubFolders Path, True
    Debug.Print "Number of folders: " & g_FolderCount & ". Number of files: " & g_FileCount
End Sub
'****************************************************************
'* Recursive sub to find path and files
'*
Sub GetSubFolders(Path As String, subFolders As Boolean)
    Dim FSO As Object           'Late binding: Scripting.FileSystemObject
    Dim myFolder As Object      'Late binding: Folder
    Dim mySubFolder As Object

    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set myFolder = FSO.GetFolder(Path)
    If subFolders Then
        If myFolder.subFolders.Count <> 0 Then
            ProcessFiles Path                             'First branch (root)
            For Each mySubFolder In myFolder.subFolders
                g_FolderCount = g_FolderCount + 1
                GetSubFolders mySubFolder.Path, subFolders
            Next
        Else  'No more subfolders in Path, process files in current path
            ProcessFiles Path
        End If
    Else 'No subdirectories, process current only
       ProcessFiles Path
    End If
End Sub
'*********************************************
'* Callback from GetSubFolders
'* Process files in the found folder
'*
Sub ProcessFiles(ByVal Path As String)
    Dim theFilePattern As String
    Dim theFile As String

    Path = Path & "\"
    theFilePattern = Path & FILES
    theFile = Dir(theFilePattern)
    While theFile <> ""    'Attach file with your own code from here
        g_FileCount = g_FileCount + 1
        Debug.Print Path & theFile
        theFile = Dir()    ' Next file if any
    Wend
End Sub
5
задан skaffman 23 March 2012 в 10:38
поделиться

4 ответа

Вы могли потребовать, чтобы каждый разработчик добавил тег разработчика рассмотрения к фиксации в фиксированном формате как [REV:XYZ]. Это позволяет Вам фильтровать историю. Как был упомянут здесь, можно использовать рычаги перед фиксацией инструмента управления версиями исходного кода для осуществления этого, если Вы должны.

Затем правило, что никакой код не может фиксироваться без экспертной оценки, должно быть передано всем разработчикам. Также покажите преимущества рассмотрения кода перед фиксацией. Первые несколько месяцев, кто-то должен проверить историю фиксации на фиксации без тега рецензента. Если они находят некоторых, спросите разработчиков почему, если они сделали обзор и с кого. Когда не было никакого обзора, напомните им о правиле. Если некоторые разработчики нарушают это правило сознательно несколько раз, могли бы быть последствия, но давление со стороны окружающих обычно предотвращает это.

Обычно, нет никакого оправдания за то, что не был сделан обзор, когда это правило в действительности. Особенно, "Но я должен был исправить эту ошибку быстро, чтобы поставить клиенту, исправленная версия" не может быть оправданием, потому что разработчик, более вероятно, совершит ошибки в порыве.

2
ответ дан 14 December 2019 в 13:49
поделиться

Этот вопрос походит на объявление для распределенного VCS как мерзавец или bzr: Вам нужны разработчики, чтобы смочь фиксировать изменения часто, но на их собственном ответвлении, которое затем рассматривается прежде чем быть втянутым к центральному репозиторию.

2
ответ дан 14 December 2019 в 13:49
поделиться

Лично я могу часто соглашаться на svn близко к 50 разам в день, таким образом, я wouldn ̈́'t как он ;)

Я знаю, что greenhopper плагин Atlassian для jira может быть выполнен, поскольку pre-committ сцепляется для требования jira ссылки в фиксации. При использовании greenhopper для планирования задач разработки также можно осуществить это все, фиксации должны быть подключены к проблеме jira.

И даже если Вы не используете greeenhopper, Вы могли бы, вероятно, создать рычаг pre-committ, который осуществляет комментарий фиксации, содержащий некоторый ссылочный номер отслеживания ошибки.

Это должно, вероятно, позволить Вам собрать собранный changeset, связанный с проблемой jira, которая походит на лучшую идею мне.

1
ответ дан 14 December 2019 в 13:49
поделиться

Разработчики могли создать ответвление для каждого изменения (не каждая фиксация). Они могли фиксировать так много раз, как им нравится в этом ответвлении. Однако, прежде чем изменения объединяются в соединительную линию, Вы могли осуществить экспертную оценку. Таким образом, Ваша соединительная линия будет только когда-либо содержать рассмотренный код однорангового узла.

Вы могли сделать это с помощью полномочий, поэтому только выберите людей, может согласиться на соединительную линию, и они могут проверить, что код в порядке прежде, чем сделать так.

Я использовал управление версиями некоторое время и думаю, что работа в модели ответвлений (вместо того, чтобы работать в соединительной линии) хороша. Системы DVCS как мерзавец берут этот шаг вперед и, кажется, работают хорошо на большое количество людей.

1
ответ дан 14 December 2019 в 13:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: