你如何记录你的发展?

时间:2010-12-14 01:00:00

标签: ruby-on-rails documentation ruby-on-rails-3

我正在构建我的第一个复杂应用程序(在RoR中),当我考虑将其传递给新程序员时,我一直在考虑记录我正在构建的内容的最佳方法。

您希望如何记录您的工作?

是否有软件或网站允许人们轻松累积文档部分,或许可以使用标记以便以后轻松参考?

4 个答案:

答案 0 :(得分:2)

如果我很荣幸:我没有记录我的应用程序。当我在团队中招募新的程序员时,我会向他们介绍域名,就是这样。他们可以自己阅读规格和黄瓜功能。如果需要任何特殊设置,则在README中。他们也可以查看CI配置。

这是约会的优于配置的力量!

答案 1 :(得分:1)

我喜欢使用维基。我认为它符合你命名的所有目标:

  • 有各种页面和部分的简便方法
  • 搜索和标记通常是内置的

另外,还有其他功能:

  • 您可以允许其他人帮助提供文档
  • 文档可以根据需要增长:从一个简单的单页网站开始。然后在有意义时展开。

我的两个收藏夹是私人项目的pbworks.com:它可以免费用于某些用途,并允许您将权限设置为私有。我最喜欢的是github,它包含了你创建的每个项目的维基。

答案 2 :(得分:0)

我添加了很多评论;到处。我花了很多时间为我的500行音乐生成算法的每一行写出人类可读形式的逻辑,它给我节省了很多时间,还有我帮助的其他朋友。

这就是我所做的(作为开始):

def __init__(self):
  self.chromatic = ['C', ['C#', 'Db'], 'D', ['D#', 'Eb'], 'E', 'F', ['F#', 'Gb'], 'G', ['G#', 'Ab'], 'A',  ['A#', 'Bb'], 'B']

  self.steps = {}
  self.steps['major']                 = [2, 2, 1, 2, 2, 2, 1]
  self.steps['natural minor']         = [2, 1, 2, 2, 1, 2, 2]
  self.steps['harmonic minor']        = [2, 1, 2, 2, 1, 3]
  self.steps['melodic minor up']      = [2, 1, 2, 2, 2, 2, 1]
  self.steps['melodic minor down']    = [2, 2, 1, 2, 2, 1, 2]
  self.steps['dorian']                = [2, 1, 2, 2, 2, 1, 2]
  self.steps['mixolydian']            = [2, 2, 1, 2, 2, 1, 2]
  self.steps['ahava raba']            = [1, 3, 1, 2, 1, 2, 2]
  self.steps['minor penatonic blues'] = [3, 2, 2, 3, 2]

  self.list = []

def scale(self, note, name):                          # Function to generate a scale from the required base note.
  if re.sub('[^0-9]', '', note) == '':                # Checks for nonexistent octave number
    octave = 5                                        # Defaults to 5
  else:                                               # If octave number exists
    octave = int(re.sub('[^0-9]', '', note))          # Extracts octave number from note

  note = re.sub('[0-9]', '', note)                    # Strips all numbers from note
  scale = []                                          # Initializes the scale to be empty

  for i in rlen(self.chromatic):                      # Loops through all elements of the Chromatic scale
    if self.chromatic[i] is not list:                 # If the note is just a natural
      if note == self.chromatic[i]: scale = [i + 1]   # Check if the note is in the chromatic. If it is, add it.
    else:
      if note in self.chromatic[i]: scale = [i + 1]   # If the note is in a key of the chromatic, add it too. It is a sharp/flat.

  for i in rlen(self.steps[name]):                    # Loops through desired scale
    scale.append(self.steps[name][i] + scale[i])      # Adds string notes following the algorithm of the scale
    scale[i + 1] = scale[i + 1] % len(self.chromatic) # Modulo length of Chromatic scale

这是一个开始(以及一个使用粗糙代码的示例),但它可以帮助我快速调试代码

答案 3 :(得分:0)

rake doc:app和预期的代码评论一起怎么样?